4. Делегати
Референция към метод с избрани типове входни параметри и връщан тип
Може да пази референция към обект, върху който да се изпълни
нестатичен метод
5. Делегати - пример
delegate int DelegateType1(string s);
DelegateType1 delegateInstance1 = CountStringLength;
int len = delegateInstance1(“some string”);
Console.WriteLine(len);
6. Multicast делегати
Списък от методи, които се изпълняват последователно при извикване на
делегата
delegateInstance1 += CountStringLengthAndMul;
Върнатата стойност е тази от последно изпълнения метод
7. Събития
Наподобяват делегати, но могат да бъдат извикани само от класа, в който
са декларирани, независимо от модификатора за достъп
8. Събития - пример
delegate void ButtonClickedHandler();
class Button
{
public event ButtonClickedHandler ButtonClicked;
public void SimulateClick() {
if (ButtonClicked != null) {
ButtonClicked();
}
}}
Button b = new Button();
b.ButtonClicked += MyHandler;