Прототип наследования в Powershell? - PullRequest
4 голосов
/ 08 сентября 2010

Существуют ли какие-либо библиотеки или проекты, реализующие наследование прототипов для объектов PSO в Powershell?

Ответы [ 2 ]

4 голосов
/ 08 сентября 2010

Я так не думаю, так как вы не можете даже заставить PSObject идентифицировать себя как пользовательский тип, например:

PS> $obj = new-object psobject
PS> $obj.psobject.TypeNames.Insert(0,'MyCustomType')
PS> $obj.psobject.TypeNames
MyCustomType
System.Management.Automation.PSCustomObject
System.Object
PS> $obj -is [MyCustomType]
Unable to find type [MyCustomType]: make sure that the assembly 
containing this type is loaded.

Однако вы можете использовать Add-Type -TypeDefinition, чтобы посыпать определения классов на основе C #, в комплекте с наследованием, в вашем скрипте.Что касается PowerShell, это по-прежнему прежде всего оболочка командной строки и язык сценариев.Он не имеет (и, вероятно, не должен обладать) всеми функциями языка программирования общего назначения, например, Python.

0 голосов
/ 08 июня 2012

А как же $obj = New-Object -TypeName PSObject -ArgumentList $prototype?

...