Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 23705|Atsakyti: 1

[Šaltinis] C# delegatai ir įvairūs rašymo būdai

[Kopijuoti nuorodą]
Paskelbta 2018-03-02 15:35:03 | | |
Ar tai komisinis mokestis?
Atstovas yra tipui saugus objektas, nurodantis kitą programos metodą (ar metodus), kuris bus iškviestas vėliau. Paprastais žodžiais tariant, atstovas yra objektas, galintis nurodyti metodą, o sukūrus delegatą, jis sukuria objektą, nurodantį metodą, o tada metodas gali būti iškviečiamas, tai yra, atstovas gali iškviesti metodą, kurį jis nurodo.

Kaip naudotis delegavimu?
1. Apibrėžkite pavedimo tipą

[prieigos modifikatorius]atstovas grąžina tipo atstovo pavadinimą (parametrą);

2. Deklaruokite patikėtą objektą

Atstovo vardas Įgalioto egzemplioriaus pavadinimas;

3. Sukurkite delegavimo objektą (nustatykite, su kuriuo metodu susieti)

Atstovo egzemplioriaus pavadinimas=Naujas atstovo vardas (tam tikros klasės metodas)

4. Naudokite patikėtą skambučio metodą

Įgaliotojo egzemplioriaus pavadinimas (parametras)

Atsargumo priemonės pavedimui:1. Delegavimas ir metodas turi turėti tuos pačius parametrus.

2、Atstovas gali iškviesti kelis metodus, t. y. atstovas gali tvarkyti iškviečiamų metodų sąrašą, o ne vieną metodą, vadinamą daugiaadresiu (daugiaadresiu)

3、Diegimo metodo didinimas ir mažinimas naudojant += ir -= operacijas

Pavyzdys:

Rašymas:

1. Delegato atstovo vardas = naujas atstovas (metodo pavadinimas, kuris bus iškviečiamas); Užsakymo pavadinimas (parametras);

2. Atstovo vardas = metodo pavadinimas, kuris bus iškviestas; Užsakymo pavadinimas (parametras);

3. Anoniminis metodas

delegate name=delegate(parameter){metodo tekstas, kuris bus iškviečiamas}; Užsakymo pavadinimas (parametras);

4. Lambda išraiška

Įgaliotinio užsakymo pavadinimas=((1 parametras,。。 parametras n)=>{metodo turinys, kuris bus iškviečiamas}); Užsakymo pavadinimas (parametras);

5. Naudokite "<T>Action" ir "Func<T>", pirmasis neturi grąžinamos vertės

func< 1 parametras, 2 parametras, grąžinama reikšmė> atstovo vardas = ((1 parametras, 2 parametras) => {metodo turinys su grąžinamąja reikšme }); Grąžinama vertė = užsakymo pavadinimas (1 parametras, 2 parametras);

Lipduko kodas:








Ankstesnis:Ping keliose vietose, kad patikrintumėte, ar IP adresas užblokuotas
Kitą:ASP.NET WebApi ateina su Json ir grąžina datą su T negali būti formatuojamas
Paskelbta 2018-03-05 17:16:17 |
Išmokite mokytis
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com