Temat ten jest kluczem dla odpowiedniego zrozumienia funkcjonowania zdarzeń.
Funkcje zwrotne Jako że delegaty są obiektami, nie ma problemu przy przesyłaniu ich jako parametrów innych funkcji. public int FooBar(int x, int y, DelegatBin nowyDelegat) { return x + y + nowyDelegat(50, 60); } Wówczas możemy wywołać funkcję, na którą wskazuje obiekt naszego delegatu w funkcji FooBar.
Delegaty złożone Do delegatu można przypisać więcej niż jedną funkcję, lecz wtedy podczas jego wywołania wywołane zostaną wszystkie te funkcje, które do niego przypisaliśmy. Do przypisywania bądź usuwania funkcji służą operatory += i -=.
Funkcje anonimowe Istnieje równie możliwość tworzenia funkcji anonimowych przy użyciu delegatów, co pozwala na przyśpieszenie projektowania poprzez pominięcie nazwy metody. Foo MyFoo = delegate(string M) { Console.WriteLine(M); }; MyFoo("Hello World");
Bibliografia Adam Boduch "Wstęp do programowania w języku C#" Wydawnictwo Helion Christian Nagel, Bill Evjen, Jay Glynn, Karli Watson, Morgan Skinner "Professional C# 4 and .NET" Wrox Marcin Gościniak "Delegaty w C#"
Linki zewnętrzne Dokumentacja MSDN dla delegatów
Kategoria:Typy danych