Делегат е клас, който дефинира типа метод, така че той да може да бъде прехвърлен като аргумент към друг метод. Събитието е специална поръчка.
1. Декларация за възлагане
(1). Делегат
Делегат
Делегатът има поне 0 параметъра и максимум 32 параметъра, и не може да има стойност за връщане или да задава тип възвръщаема стойност.
Например, публичен делегат int MethodtDelegate(int x, int y); Показва, че има два параметъра, и връща int тип.
(2). Действие
Action е универсален делегат без стойност за връщане.
Действието представлява делегат без параметри и без връщана стойност
Action<int,string> показва делегат с входящ параметър int и без връщаща стойност за низ
Action<int,string,bool> показва делегат с входящи параметри int,string,bool без връщащи стойности
Действие<int,int,int,int,int> означава, че има 4 int-тип параметъра, които са подадени и няма връщана стойност
Действието има поне 0 параметъра и максимум 16 параметъра, без връщаща стойност.
Пример:
(3). Функ
Func е универсален делегат с връщана стойност
Func<int> означава делегат без параметри и връща int стойност
Func<object,string,int> представлява делегат с входящия параметър като обект, а низът връща int стойност
Func<object,string,int> представлява делегат с входящия параметър като обект, а низът връща int стойност
Func<T1,T2,,T3,int> представлява делегат с входящия параметър T1, T2, ,T3 (генеричен), връщащ int стойност
Func има поне 0 параметъра и максимум 16 параметъра, които се връщат според генеричната стойност на връщането. Трябва да има възвръщаема стойност, а не void
Пример:
(4) .предикат
Предикат е общ делегат, който връща bool тип
<int> предикат представлява делегат с входящия параметър int, връщащ bool
Предикатът има само един параметър, а връщаната стойност е фиксирана на bool
Пример:
|