Czy to zlecenie? Delegat to obiekt typu bezpieczny, który wskazuje na inną metodę (lub metody) w programie, która zostanie wywołana później. W prostych słowach, delegat to obiekt, który może odwoływać się do metody, a gdy delegat zostanie utworzony, tworzy obiekt odwołujący się do metody, a następnie metoda może zostać wywołana, czyli delegat może wywołać metodę, do której się odnosi.
Jak korzystać z delegacji? 1. Określ rodzaj powierzenia
[modyfikator dostępu]delegate zwraca typ, nazwa delegata (parametr);
2. Zadeklaruj powierzony obiekt
Imię delegata Nazwa instancji delegowanej;
3. Utworzenie obiektu delegacji (określenie, do której metody powiązać)
Nazwa instancji delegata=nowa nazwa delegata (metoda dla określonej klasy)
4. Użyj metody powierzonego połączenia
Nazwa instancji delegowanej (parametr)
Środki ostrożności dotyczące powierzenia:1. Delegacja i metoda muszą mieć te same parametry.
2、Delegat może wywołać wiele metod, tzn. może utrzymywać listę wywołalnych metod zamiast jednej metody, znanej jako multicast (multicast)。
3、Metoda implementowania zwiększa i zmniejsza się przy użyciu operacji += i -=
Przykład:
Pisanie:
1. Nazwa delegata = nowy delegat (nazwa metody, która zostanie wywołana); Nazwa zamówienia (parametr);
2. Delegate Delegate name = nazwa metody, która zostanie wywołana; Nazwa zamówienia (parametr);
3. Metoda anonimowa
delegate delegate name=delegate(parameter){ciało metody, które zostanie wywołane}; Nazwa zamówienia (parametr);
4. Ekspresja lambda
Nazwa kolejności delegata=((parametr 1,。。 parametr n)=>{ciało metody, które zostanie wywołane}); Nazwa zamówienia (parametr);
5. Użyj <T>Action i Func<T>, pierwszy nie ma wartości zwrotnej
funkc< Parametr 1, Parametr 2, Wartość zwrotna> Nazwa delegata = ((Parametr 1, Parametr 2) => {Ciało metody z wartością zwrotną }); Wartość zwrotna = nazwa zamówienia (parametr 1, parametr 2);
Kod naklejki:
|