任意のオブジェクトを作成する(3)

任意のオブジェクトを作成する(2) - PowerShell Memoの続きです。
今回は「MshScriptMethod」を利用してメソッドを追加するサンプルを紹介します。

メソッドの追加(MshScriptMethod)

以下のサンプルでは「name(MshNoteProperty)」を表示する「introduce(MshScriptMethod)」メソッドを追加しています。

MSH C:\> $obj = new-object Management.Automation.MshObject
MSH C:\>
MSH C:\> # プロパティ追加
MSH C:\> $name = "newpops"
MSH C:\> $p = new-object Management.Automation.MshNoteProperty `
>> "name", $name
>> $obj.MshObject.Members.Add($p)
>>
MSH C:\> # メソッド追加
MSH C:\> $script = {write-host "My name is" $this.name}
MSH C:\> $sm = new-object System.Management.Automation.MshScriptMethod `
>> "introduce", $script
>> $obj.MshObject.Members.Add($sm)
>>
MSH C:\> # メソッド実行
MSH C:\> $obj.introduce()
My name is newpops