委譲パーツ
Delegate パーツは関数のモデルを提供します。
Delegate パーツには、以下の特性があります。
- 変数を宣言するときは、Delegate パーツ名をタイプとして指定します。 同じシグニチャーを使用して、変数に代入された、突き合わせ関数の名前を Delegate パーツとして割り当てます。
- 関数呼び出しで関数名の代わりに delegate 変数を指定すると、関数を動的に呼び出せるよう選択することができます。
- Delegate パーツは通常、イベント・ハンドラーを登録するためのインフラストラクチャー として使用されます。詳しくは、Java コードの ExternalTypeを参照してください。
- ユーザー・インターフェースを含まない状態の場合、Delegate パーツは、関数ポインターの Dictionary 内の 要素として、または動的に関数を呼び出す方法として使用することができます。
- Delegate パーツにはプロパティーがありません。
構文

- delegatePartName
- Delegate パーツに割り当てる名前を指定します。
- parameters
- 突き合わせ関数が必要とするパラメーターのリストです。delegate に定義されるパラメーター・タイプと修飾子は、突き合わせ関数のものと同じにする必要があります。パラメーター名は異なる場合があります。
- type
- 突き合わせ関数が戻さなければならない型です。
例
以下は、プログラムのコンテキスト内の Delegate パーツの例です。
Delegate FunctionInvoker
(displayStr STRING)
end
Program greetings
// delegate 変数を宣言
invoker FunctionInvoker;
Function main()
// writeToScreen() は Delegate パラメーターに一致する必要がある
invoker = writeToScreen;
invoker("Hello world");
end
Function writeToScreen(myMsg STRING)
sysLib.WriteStdOut (myMsg);
end
end
互換性
| プラットフォーム | 問題 |
|---|---|
| iSeries | 委譲パーツを使用することはできません。 |