PowerShell Memo

このサイトはPowerShell(MSH/Monad)奮闘記です

管理人「newpops吉岡洋」が
「PowerShell(旧名:MSH/Monad)」の研究結果を日々綴っていきます。

【お知らせ】
この日記からPowerShellのTipsを抽出し「PowerShell FAQ」として整理しました。


2005-12-20

[]任意のオブジェクトを作成する(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