Je to provize? Delegát je typově bezpečný objekt, který ukazuje na jinou metodu (nebo metody) v programu, jež bude později volána. Laicky řečeno, delegát je objekt, který může odkazovat na metodu, a když je vytvořen delegát, vytvoří objekt, který odkazuje na metodu, a pak může být metoda vyvolána, tedy delegát může zavolat metodu, na kterou odkazuje.
Jak mohu delegaci používat? 1. Definovat typ svěření
[access modifier]Delegate vrací typ, jméno delegáta (parametr);
2. Deklarovat svěřený objekt
Jméno delegáta Název delegované instance;
3. Vytvořit objekt delegace (určit, na kterou metodu se přiřadit)
Název instance delegát=Jméno nového delegáta (metoda určité třídy)
4. Použijte metodu svěřeného volání
Delegovaný název instance (parametr)
Opatření při svěřování:1. Delegace a metoda musí mít stejné parametry.
2、Delegát může volat více metod, tj. může udržovat seznam volatelných metod místo jedné metody, známé jako multicast (multicast)。
3、Metoda implementace zvyšuje a snižuje pomocí operací += a -=
Příklad:
Psaní:
1. Jméno delegáta = nový delegát (název metody, který bude volán); Název řádu (parametr);
2. Název delegáta delegáta = název metody, který bude volán; Název řádu (parametr);
3. Anonymní metoda
delegát delegát jméno=delegát(parametr){tělo metody, které bude voláno}; Název řádu (parametr);
4. Lambda vyjádření
Název pořadí delegáta=((parametr 1,。。 parametr n)=>{tělo metody, které bude voláno}); Název řádu (parametr);
5. Použijte Action <T>a Func<T>, první nemá žádnou návratovou hodnotu
func< parametr 1, parametr 2, návratová hodnota> název delegáta = ((parametr 1, parametr 2) => {tělo metody s vrácenou hodnotou }); Return value = název objednávky (parametr 1, parametr 2);
Kód na samolepce:
|