PowerShell支持OOP吗?

ale*_*2k8 9 oop powershell

什么是PowerShell中的Class,Interface,Mixin等概念?它支持OOP吗?如果是这样,我在哪里可以读到这个?

Jay*_*uzi 12

您可以使用Add-Typecmdlet 在PowerShell v2.0中定义新类型:

详细说明

Add-Type cmdlet允许您在Windows PowerShell会话中定义.NET类.然后,您可以实例化对象(通过使用New-Object cmdlet)并使用这些对象,就像使用任何.NET对象一样.如果向Windows PowerShell配置文件添加"添加类型"命令,则该类将在所有Windows PowerShell会话中可用.

您可以通过指定现有的程序集或源代码文件来指定类型,也可以指定源代码或保存在变量中.您甚至可以只指定一个方法,Add-Type将定义并生成该类.您可以使用此功能对Windows PowerShell中的非托管函数进行平台调用(P/Invoke)调用.如果指定源代码,Add-Type将编译指定的源代码并生成包含新.NET类型的内存中程序集.

您可以使用Add-Type参数指定备用语言和编译器(默认为CSharp),编译器选项,程序集依赖关系,类命名空间以及类型名称和生成的程序集.

help Add-Type 欲获得更多信息.

另见,见:


小智 8

PowerShell更像是一种OOP消费者语言.它可以利用大多数.NET Framework,但它本身不支持创建接口,类,当然也不支持mixins.PowerShell的类型系统所基于的.NET不支持mixins.PowerShell支持通过Add-Member cmdlet向现有对象动态添加属性和方法.

Add-Type很有用但是如果你必须转义到C#或VB来定义一个实现特定接口的类或类,我不会认为第一个类支持创建类/接口.

如果您正在寻找一些免费的学习资料,请查看Effective Windows PowerShell.