我真的很茫然。
我想知道为什么我不能在方法内部声明代理类型,而是必须在类级别上这样做。
namespace delegate_learning
{
class Program
{
// Works fine
public delegate void anon_delgate(int i);
static void Main(string[] args)
{
HaveFun();
Console.Read();
}
public static void HaveFun()
{
// Throws an error :/
//delegate void anon_delgate(int i);
anon_delgate ad = delegate(int i) { Console.WriteLine(i.ToString());};
}
}
}
编辑:我正在研究Lambda表达式,并且为了自己的个人知识而回溯到Lambda之前的情况。