什么是PowerShell中的Class,Interface,Mixin等概念?它支持OOP吗?如果是这样,我在哪里可以读到这个?
您可以使用Add-Type
cmdlet 在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
欲获得更多信息.
另见,见:
如何在PowerShell中创建自定义类型以供我的脚本使用?
http://thepowershellguy.com/blogs/posh/archive/2008/06/02/powershell-v2-ctp2-making-custom-enums-using-add-type.aspx
PowerShell更像是一种OOP消费者语言.它可以利用大多数.NET Framework,但它本身不支持创建接口,类,当然也不支持mixins.PowerShell的类型系统所基于的.NET不支持mixins.PowerShell支持通过Add-Member cmdlet向现有对象动态添加属性和方法.
Add-Type很有用但是如果你必须转义到C#或VB来定义一个实现特定接口的类或类,我不会认为第一个类支持创建类/接口.
如果您正在寻找一些免费的学习资料,请查看Effective Windows PowerShell.