代表声明中有正文意味着什么?

时间:2012-08-22 07:24:39

标签: c# delegates anonymous-methods

我刚刚看到以下代码:

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

这是什么意思?我从未见过声明其身体的代表。

2 个答案:

答案 0 :(得分:7)

这不是宣布其身体的Action委托。这是名为X的{​​{1}}类的静态方法,返回类型为Ac();也就是说,它是一个返回Action委托的类方法。身体可能会创建一个Action对象以从该方法返回。

换句话说:它是一个常规静态方法,恰好返回Action而不是Actionstring

答案 1 :(得分:0)

引用匿名方法的委托对象被声明为(使用旧语法并省略lambda表示法):

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);