Статьи / C# (sharp)


Делегаты (delegate)

Привязывание методов по ссылке. По сути delegate - это функция которая вызывает список других функций.

В js подобное поведение при работе с событиями.

delegate void MyDelegate(int a);

MyDelegate d = new MyDelegate();

d += start; //привязываем start
d += stop; //привязываем stop
d(30); //вызываем start и stop c параметром (a == 30)


Последовательно выполниться сначала метод start, затем stop. В этом примере, это пользовательские методы, поэтому их нужно создать самим, например:

void start (int a) {
Debug.Log("Start: " + a); //Unity3D метод выводит в консоль сообщение
}

void stop (int a) {
Debug.Log("Stop: " + a); //Unity3D метод выводит в консоль сообщение
}