我刚刚看到以下代码:
class X
{
static Action Ac()
{
return ..some other code
}
}
这是什么意思?我从未见过声明其身体的代表。
答案 0 :(得分:7)
这不是宣布其身体的Action
委托。这是名为X
的{{1}}类的静态方法,返回类型为Ac()
;也就是说,它是一个返回Action
委托的类方法。身体可能会创建一个Action
对象以从该方法返回。
换句话说:它是一个常规静态方法,恰好返回Action
而不是Action
或string
。
答案 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);