Мой вопрос подробно описан в следующем коде - причина, по которой я прошу об этом, заключается в том, что я экспериментирую с делегатами:
//create the delegate
delegate int del(int x);
class Program {
static void Main(string[] args) {
Program p;
p = new Program();
del d = p.a;
d += p.b;
d += p.c;
d += p.d;
d += p.e;
Console.WriteLine(d(10)); //<<was hoping it would be 10+2+3+4+5+6
Console.WriteLine("press [enter] to exit");
Console.ReadLine();
}
private int a(int x) { Console.WriteLine("a is called"); return x + 2; }
private int b(int x) { Console.WriteLine("b is called"); return x + 3; }
private int c(int x) { Console.WriteLine("c is called"); return x + 4; }
private int d(int x) { Console.WriteLine("d is called"); return x + 5; }
private int e(int x) { Console.WriteLine("e is called"); return x + 6; }
}
16 возвращается....
Все функции запускаются, так как различные сообщения "a вызывается" и т.д. все печатаются в console
, но возвращается только сумма, возвращаемая из последней функции e
- я предполагаю, что в фоновом режиме они возвращается, но затем перезаписывается?