Mam dośyć trywialne pytanie, czemu gdy delegat (działanie) wywołuje wszystkie metody.
To konsola wyświetli Mnozenie, Dodaj, Odejmij, -45. A nie wyświetli wartości zwarcanych przez metody Mnożenie oraz Dodaj.
using System;
namespace Program
{
class Program
{
delegate int Delegat(int x, int y);
static void Main(string[] args)
{
int liczbaX = 10;
int liczbaY = 55;
Delegat dzialanie = Dodaj;
dzialanie += Mnozenie;
dzialanie += Odejmij;
Console.WriteLine("Wynik {0}", dzialanie(liczbaX, liczbaY));
Console.ReadKey();
}
static int Mnozenie(int x, int y)
{
Console.WriteLine("Mnozenie");
return x * y;
}
static int Dodaj(int x, int y)
{
Console.WriteLine(Dodaj");
return x + y;
}
static int Odejmij(int x, int y)
{
Console.WriteLine("Odejmij");
return x - y;
}
}
}
fasadin