1

次のコードを見たところです。

class X
{
  static Action Ac()
  {
     return ..some other code
  }
}

どういう意味ですか?本体が宣言されたデリゲートを見たことがありません。

4

2 に答える 2

7

これはAction、本体が宣言されたデリゲートではありません。これは、戻り値の型が;Xと呼ばれるクラスの静的メソッドです。つまり、デリゲートを返すクラス メソッドです。本体は、おそらくメソッドから返されるオブジェクトを作成します。Ac()ActionActionAction

別の言い方をすれば、これは通常の静的メソッドであり、たまたまorActionのようなものの代わりに返されます。stringint

于 2012-08-22T07:26:25.830 に答える
0

匿名メソッドを参照するデリゲート オブジェクトは、次のように宣言されます (古い構文を使用し、ラムダ表記を省略します)。

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);
于 2012-08-22T07:31:17.077 に答える