Delegat to klasa, która definiuje typ metody tak, aby można ją było przekazać jako argument innej metodzie. Wydarzenie to specjalne zlecenie.
1. Oświadczenie o powierzeniu
(1). delegat
Delegat
Delegate ma co najmniej 0 parametrów i maksymalnie 32 parametry, nie może mieć wartości zwrotnej ani określać typu wartości zwrotnej.
Na przykład, public delegate int MethodtDelegate(int x, int y); Wskazuje, że istnieją dwa parametry i zwraca typ int.
(2). Działania
Działanie jest ogólnym delegatem bez wartości zwrotnej.
Akcja reprezentuje delegata bez parametrów i bez wartości zwracanej
Action<int,string> oznacza delegata z przychodzącym parametrem int i bez wartości zwrotnej dla ciągu
Action<int,string,bool> oznacza delegata z przychodzącymi parametrami int,string,bool bez wartości zwrotnych
Action<int,int,int,int> oznacza, że w i w przechodzą 4 parametry typu int i nie ma wartości zwrotnej
Akcja ma co najmniej 0 parametrów i maksymalnie 16 parametrów, bez wartości zwrotnej.
Przykład:
(3). Funkc
Funkc jest ogólnym delegatem o wartości zwrotnej
Funkc<int> oznacza delegata bez parametrów i zwraca wartość int
Func<object,string,int> reprezentuje delegata z przychodzącym parametrem jako obiektem, a ciąg zwraca wartość int
Func<object,string,int> reprezentuje delegata z przychodzącym parametrem jako obiektem, a ciąg zwraca wartość int
Func<T1,T2,,T3,int> reprezentuje delegata z nadchodzącymi parametrami T1, T2, ,T3 (ogólnymi), zwracającymi wartość int
Funkc ma co najmniej 0 parametrów i maksymalnie 16 parametrów, które są zwracane zgodnie z wartością zwrotną ogólną. Musi istnieć wartość zwrotu, a nie nieważna
Przykład:
(4) .predykat
Predykat to generyczny delegat, który zwraca typ bool
Predykat<int> reprezentuje delegata z parametrem wejściowym int zwracającym bool
Predykat ma i tylko jeden parametr, a wartość zwrotu jest stała na bool
Przykład:
|