関数A
へのジェネリックのデリゲートを考えてみましょう。B
public delegate B Fun<A, B>(A x);
Fun
次に、デリゲートを受け入れて呼び出す関数を記述します。
public static B invokeFun<A, B>(A x, Fun<A, B> f)
{ return f(x); }
(書くのが賢明かどうかは気にしないでくださいinvokeFun
。)
デリゲートに名前を付けinvokeFun
ずに書くことはできますか? 私はこのようなものがうまくいくことを期待していますが、そうではありません:Fun
public static B invokeFun<A, B>(A x, B (A) f)
{ return f(x); }