Powershell备忘录:在Powershell中创建自定义类
Powershell自身未发现定义class的语法,如果需要创建自定义的类需要结合C#类定义代码及Powershell的Add-Type Cmd-Let。在一个Powershell文件中定义类可采用以下方式:1、将一个定义类的源码以string类型保存到变量中,源码用C#语法编写。
2、使用Add-Type命令将定义的类注册。
3、使用New-Object创建类实例,使用类。
示例源码:
[*]$source=@"
[*]public class classA
[*]{
[*] private string name;
[*] public classA(string str)
[*] {
[*] this.name=str;
[*] }
[*] public string Name
[*] {
[*] get {return this.name;}
[*] set {this.name=value;}
[*] }
[*] public void sayHello()
[*] {
[*] System.Console.WriteLine("hello, "+this.Name);
[*] }
[*]}
[*]"@
[*]
[*]Add-Type -TypeDefinition $source;
[*]
[*]$myObject=New-Object classA("langhunld");
[*]$myObject.Name;
[*]$myObject.sayHello();
[*]$myObject.Name="Not Set";
[*]$myObject.Name;
[*]$myObject.sayHello();
使用Add-Type Cmd-Let还可以有更多的方法创建自定义类,如通过.Net源代码文件,加载dll文件。详细请在Powershell中使用“Get-Help Add-Type -Full”查看。
页:
[1]