Saturday, February 29, 2020 09:39

Posts Tagged ‘delegați’

EventHandler, sender și EventArgs

vineri, februarie 21st, 2020

Ați observat probabil faptul că în aproape toate lecțiile anterioare în care am discutat despre evenimente, am folosit Action ca tipul de delegat pentru eveniment. Evident, puteți utiliza orice tip de delegat doriți, dar, în marea majoritate a cazurilor, prin convenție (și doar prin convenție!),… Read more

Evenimente: Add și Remove

miercuri, februarie 19th, 2020

În lecția anterioară v-am arătat modul în care compilatorul implementează concret evenimentele, adăugând de fapt în fundal două metode numite addon() și removeon() și făcând câmpul Action privat, astfel încât să nu îl putem invoca în mod direct. Dar acest lucru a fost efectuat în limbajul MSIL, iar noi nu trebuie să ne preocupăm cu un nivel atât de jos.… Read more

Evenimente

miercuri, februarie 5th, 2020

Evenimentele reprezintă un mod mai sigur de implementare a tiparului observatorului descris în lecția precedentă, și sunt pasul evolutiv al delegaților bruti. Este posibil să fi auzit despre programarea bazată pe evenimente ca un concept ce descrie o paradigmă de programare în care fluxul programului este determinat de evenimente precum acțiuni ale utilizatorului (click-uri de mouse, apăsări de taste), ieșiri ale senzorilor ori mesaje din alte programe sau fire de execuție.… Read more

Tiparul observatorului

luni, februarie 3rd, 2020

Conform Microsoft, tiparul observatorului este un design comportamental care permite unui obiect să notifice alte obiecte despre modificări ale stării sale.

Multor programatori începători (și chiar și celor mai experimentați) le este greu să înțeleagă legătura dintre delegați și evenimente, iar fundația pe care este construită această legătură este reprezentată tocmai de tiparul observatorului.… Read more

Closures

duminică, februarie 2nd, 2020

Să considerăm următoarea Action:

Read more

Metode anonime

sâmbătă, februarie 1st, 2020

Amintiți-vă din lecția expresii lambda că putem declara o metodă local, fără nume, și să o folosim într-un singur loc, acolo unde o declarăm. Acesta este un exemplu de expresie lambda:

Read more

Func și Action

miercuri, ianuarie 29th, 2020

Există cinci tipuri de delegați prestabiliți pe care îi puteți utiliza în C#: Delegate, MulticastDelegate, Predicate, Func și Action. Am descris deja Delegate într-o lecție anterioară. MulticastDelegate există doar din motive istorice și de compatibilitate anteriorară, și ne permite să înlănțuim delegați, dar nu îl veți folosi în mod direct aproape niciodată.… Read more

Delegați înlănțuiți

vineri, ianuarie 24th, 2020

O proprietate utilă a obiectelor de tip delegat este aceea că mai multe obiecte pot fi atribuite unei singure instanțe delegat folosind operatorul +, proces numit înlănțuire de delegați sau delegați înlănțuiți.

Înlănțuirea delegaților nu este cu adevărat utilă până când nu vom ajunge la evenimente și abonații evenimentelor, care vor veni într-o lecție viitoare, dar este mai bine să descriu comportamentul lor acum, după ce ați văzut un pic modul de funcționare al delegaților.… Read more

Expresii lambda

duminică, ianuarie 12th, 2020

În lecția anterioară scriam că putem îmbunătăți în continuare codul folosind expresii lambda. O expresie lambda este o modalitate convenabilă de a defini o funcție anonimă (fără nume) care poate fi transmisă ca variabilă sau ca parametru la un apel de metodă.… Read more

Delegați

joi, ianuarie 9th, 2020

Din lecția parametrii metodelor și funcțiilor știți deja că puteți crea metode care acceptă o serie de parametri de diferite tipuri. Dar ce faceți dacă doriți să trimiteți o metodă în sine ca parametru unei alte metode? C# ne permite prin delegați să facem exact asta.… Read more


Do NOT follow this link or you will be banned from the site!