I am confused why this compiles:
private delegate int MyDelegate(int p1, int p2); private void testDelegate() { MyDelegate imp = delegate { return 1; }; }
MyDelegate should be a pointer to a method that takes two int parameters and returns another int, right? Why am I allowed to assign a method that does not accept any parameters?
Interestingly, they do not compile (he complains about signature mismatches, as I expected)
private void testDelegate() { // Missing param MyDelegate imp = delegate(int p1) { return 1; }; // Wrong return type MyDelegate imp2 = delegate(int p1, int p2) { return "String"; }; }
Thanks for any help!
Ryan
c # delegates
Ryan
source share