概要
次のスクリプトにより、PowerShell で使える新しいクラスを作ることができます。詳しい作り方を 新しいクラスを作る(1) より少しずつ解説していますので、順にご覧ください。今回は、メソッドの作り方を解説します。
ダウンロード
- 新しいクラスを作成するスクリプト
New-Class.ps1
メソッドの定義
メソッドは次のように定義します。
Method <属性> <戻り値の型> <メソッド名> <パラメータ型リスト> <実装>
<属性> には、 public, private, static のいずれかを指定できます。複数指定する場合には、「public, static」のように、カンマで区切って指定します。
<戻り値の型> には、型名を指定します。<実装> スクリプトブロック内で出力されたオブジェクトは、この型にキャストされ、戻り値となります。
<パラメータ型リスト> は、たとえば「([int], [string])」のように指定します。この場合、int 型の第一引数は $args[1] に代入され、 string 型の第二引数は $args[2] に代入されます。$args[0] には、オブジェクトインスタンスが代入されます。
用例
次の用例では、int 型の引数を二つ受取り、その合計を返すメソッド Plus を持つクラス Class9 を定義します。
PS> New-Class Class9 {
>> Method public int Plus([int], [int]) {
>> $args[1] + $args[2]
>> }
>> }
>>
>> Method public int Plus([int], [int]) {
>> $args[1] + $args[2]
>> }
>> }
>>
NameSpace | Name | BaseType |
——— | —- | ——– |
Class9 | System.Object |
PS> $o = New-Object Class9
PS> $o.Plus(1234, 567)
1801