次のコードを見たところです。
class X
{
static Action Ac()
{
return ..some other code
}
}
どういう意味ですか?本体が宣言されたデリゲートを見たことがありません。
次のコードを見たところです。
class X
{
static Action Ac()
{
return ..some other code
}
}
どういう意味ですか?本体が宣言されたデリゲートを見たことがありません。
これはAction
、本体が宣言されたデリゲートではありません。これは、戻り値の型が;X
と呼ばれるクラスの静的メソッドです。つまり、デリゲートを返すクラス メソッドです。本体は、おそらくメソッドから返されるオブジェクトを作成します。Ac()
Action
Action
Action
別の言い方をすれば、これは通常の静的メソッドであり、たまたまorAction
のようなものの代わりに返されます。string
int
匿名メソッドを参照するデリゲート オブジェクトは、次のように宣言されます (古い構文を使用し、ラムダ表記を省略します)。
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);