拡張メソッドに渡される最初のパラメータは、参照パラメータではなく値パラメータにする必要があります。
拡張メソッドを定義するには、次のようにします。
- メソッド ヘッダーでEXTENSION キーワードを使用します。
- メソッドは、ネストでも汎用でもない静的クラス内になければなりません。メソッドは暗黙的に静的になります。
- メソッドの本文では、最初のパラメーターは拡張するタイプになります。これは、常に値パラメーターになります。
例:
次の拡張メソッドは、文字列の単語数を数えるメソッドを追加することで、文字列クラスを拡張します。
class-id MyCount static.
method-id CountWords extension. *> extension method is implicitly static
procedure division using by value str as string
returning wordCount as binary-long.
set wordCount to str::Split(' ')::Length
end method.
end class.