Fsharp-delegates
提供:Dev Guides
F#-デリゲート
デリゲートは、メソッドへの参照を保持する参照型変数です。 参照は実行時に変更できます。 F#デリゲートは、CまたはC ++の関数へのポインターに似ています。
デリゲートの宣言
デリゲート宣言は、デリゲートが参照できるメソッドを決定します。 デリゲートは、デリゲートと同じシグネチャを持つメソッドを参照できます。
デリゲート宣言の構文は-
たとえば、デリゲートを考慮してください-
両方のデリゲートを使用して、2つの_int_パラメーターを持ち、_int_型変数を返すメソッドを参照できます。
構文では-
- type1 は引数のタイプを表します。
- type2 は戻り値の型を表します。
注意してください-
- 引数のタイプは自動的にカリー化されます。
- デリゲートは、関数値、および静的メソッドまたはインスタンスメソッドに添付できます。
- F#関数の値は、デリゲートコンストラクターの引数として直接渡すことができます。
- 静的メソッドの場合、デリゲートはクラスとメソッドの名前を使用して呼び出されます。 インスタンスメソッドの場合、オブジェクトインスタンスとメソッドの名前が使用されます。
- デリゲート型のInvokeメソッドは、カプセル化された関数を呼び出します。 *また、括弧なしでInvokeメソッド名を参照することにより、デリゲートを関数値として渡すことができます。
次の例は、概念を示しています-
例
あなたがプログラムをコンパイルして実行すると、次の出力が得られます-