Delegát je třída, která definuje typ metody tak, aby ji bylo možné předat jako argument jiné metodě. Událost je zvláštní zakázka.
1. Prohlášení o svěření
(1). delegovat
Delegát
Delegát má alespoň 0 parametrů a maximálně 32 parametrů, a nemůže mít žádnou návratovou hodnotu ani specifikovat typ vrácené hodnoty.
Například veřejný delegát int MethodtDelegate(int x, int y); Označuje, že existují dva parametry a vrací typ int.
(2). Akce
Akce je obecný delegát bez návratové hodnoty.
Akce reprezentuje delegáta bez parametrů a bez návratové hodnoty
Action<int,string> označuje delegáta s příchozím parametrem int a bez návratové hodnoty řetězce
Action<int,string,bool> označuje delegáta s příchozími parametry int,string,bool bez návratových hodnot
Akce<int,int,int,int> znamená, že jsou předány 4 parametry typu int a neexistuje žádná vrácená hodnota
Akce má alespoň 0 parametrů a maximálně 16 parametrů, bez návratové hodnoty.
Příklad:
(3). Func
Func je generický delegát s návratovou hodnotou
Func<int> znamená delegáta bez parametrů a vrací hodnotu int
Func<object,string,int> reprezentuje delegáta s příchozím parametrem jako objektem a řetězec vrací hodnotu int
Func<object,string,int> reprezentuje delegáta s příchozím parametrem jako objektem a řetězec vrací hodnotu int
Func<T1,T2,T3,int> představuje delegáta s příchozími parametry T1, T2, ,T3 (obecné), které vrací hodnotu int
Func má alespoň 0 parametrů a maximálně 16 parametrů, které se vrací podle generické vrácené hodnoty. Musí existovat návratová hodnota, ne neplatná
Příklad:
(4) .predikát
Predikát je generický delegát, který vrací typ boolu
Predikát<int> reprezentuje delegáta s příchozím parametrem int vrací bool
Predikát má a pouze jeden parametr a vrácená hodnota je pevně daná na bool
Příklad:
|