我很困惑为什么这个编译:
private delegate int MyDelegate(int p1,int p2); private void testDelegate() { MyDelegate imp = delegate { return 1; }; }
MyDelegate应该是一个指向一个方法的指针,该方法接受两个int参数并返回另一个int,对吗?为什么我可以分配一个不带参数的方法?
有趣的是,这些都没有编译(它抱怨签名不匹配,正如我所期待的那样)
private void testDelegate() { // Missing param MyDelegate imp = delegate(int p1) { return 1; }; // Wrong return type MyDelegate imp2 = delegate(int p1,int p2) { return "String"; }; }
谢谢你的帮助!
瑞安