次のコードを見たところです。
class X
{
static Action Ac()
{
return ..some other code
}
}
どういう意味ですか?本体が宣言されたデリゲートを見たことがありません。
次のコードを見たところです。
class X
{
static Action Ac()
{
return ..some other code
}
}
どういう意味ですか?本体が宣言されたデリゲートを見たことがありません。
これはAction、本体が宣言されたデリゲートではありません。これは、戻り値の型が;Xと呼ばれるクラスの静的メソッドです。つまり、デリゲートを返すクラス メソッドです。本体は、おそらくメソッドから返されるオブジェクトを作成します。Ac()ActionActionAction
別の言い方をすれば、これは通常の静的メソッドであり、たまたまorActionのようなものの代わりに返されます。stringint
匿名メソッドを参照するデリゲート オブジェクトは、次のように宣言されます (古い構文を使用し、ラムダ表記を省略します)。
Action<int> action = delegate (int x) {
//this is a body of anonymous method
//which is referenced by a delegate object action of type Action<int>
Console.WriteLine (x);
};
そして、次のように呼び出されます:
action(5);