1. Co je to svěřování?
Delegát je referenční typ, což je spravovaná verze ukazatele funkce. V C# jsou delegáti typ, který ukládá reference jako funkce. Delegáti mohou odkazovat jak na instance, tak na statické metody, zatímco ukazatele funkcí mohou odkazovat pouze na statické metody. Deklarace delegáta je velmi podobná funkci, na rozdíl od funkce v tom, že delegát nemá tělo funkce a vyžaduje klíčové slovo Delegát. Delegovaná deklarace specifikuje podpis funkce, který obsahuje seznam parametrů a typ návratu. Jakmile je delegát definován, lze deklarovat proměnnou typu delegáta, kterou lze inicializovat jako referencovanou funkcí se stejným podpisem jako delegát, a kterou lze volat pomocí proměnné delegát. (ps: Ve skutečnosti mu svěřil třídu a jeho účelem bylo předat metodu jako parametr ostatním metodám!) )
Delegáti, i když jsou velmi podobní ukazatelům funkcí, nejsou ukazateli. Mnoho lidí uvádí . Delegát v .NET je chápán jako bezpečný ukazatel funkce, což je nepravděpodobné, a ukazatel funkce implementace delegáta je velmi podobný tím, že poskytuje mechanismus zpětného volání programu.
2. Čtyři kroky svěření: 1. Vyhlásit typ svěření
2. Existuje metoda, která obsahuje kód, který má být vykonán
3. Vytvořte delegovanou instanci
4. Zavolejte instanci delegáta
3. Příklady:
|