Evenimente In Net Framework C

Extras din referat Cum descarc?

O clasa care vrea sa creeze un eveniment are un membru de tip delegate. Clasa care vrea sa primeasca acel eveniment trebuie sa furnizeze o metoda in care sa scrie logica de tratare a acelui eveniment (handlerul evenimentului). Acest handler este apoi legat de un delegate si apoi adaugat in lista de invocari a membrului delegate din clasa-sursa (care trimite evenimentul). Pentru a ridica evenimentul, clasa-sursa isi invoca membrul de tip delegate, care apoi isi invoca toti delegatii din lista sa de invocare, iar acesti delegati isi invoca, pe rand, handlerele care le-au fost asociate.
Delegarile pentru evenimente respecta o anumita conventie pentru signatura si denumire.
De exemplu, System. EventHandler are urmatoarea signatura: Primeste doua argumente: primul argument este de tip object si reprezinta obiectul care a trimis evenimentul si al doilea argument reprezinta informatii legate de eveniment si este o instanta a unei clase care deriva din System. EventArgs. Clasa de baza, EventArgs, nu contine nici un fel de date si este folosita la tratarea evenimentelor care nu au nici un fel de informatii asociate, de exemplu Click-ul pe un Button. Un exemplu de clasa in care contine informatii este ImageClickEventArgs, folosita in handlerele de Click pe un ImageButton. Informatiile pe care le ofera sunt coordonatele x si y unde s-a dat click pe imagine.
Clasele care reprezinta informatii legate de eveniment trebuie denumite cu numele evenimentului, urmat de EventArgs. Procesul de asociere a unui event handler cu un event se numeste event wiring. Operatia inversa se numeste event unwiring. Exemplu: button. Click += new EventHandler (this. Button Clicked); //wiring button. Click -= new EventHandler (this. Button Clicked); //unwiring Pentru a implementa un eveniment intr-o clasa, avem nevoie de: clasa pentru informatiile legate de eveniment, care deriva din EventArgs. Cautam mai intai o clasa gata implementata care sa ne satisfaca cerintele. Daca nu exista una, atunci o definim noi: public class LowChargeEventArgs: EventArgs{. } un delegate care sa reprezinte evenimentul: daca am gasit la pasul anterior o clasa din framework, atunci cautam sa folosim un delegate care exista si sa se potriveasca. Daca nu exista, se defineste unul, respectand conventiile de denumire: public delegate void LowChargeEventHandler (object sender, LowChargeEventArgs e); un membru de tip delegate: acest membru este declarat folosind cuvantul cheie event si va fi de tipul creat la pasul 2: public event LowChargeEventHandler LowCharge; metoda care invoca evenimentul (membrul de tip delegate): in interiorul clasei, se defineste o metoda care invoca membrul definit la pasul 3; aceasta metoda trebuie sa fie virtuala si sa aiba numele evenimentului prefixat de On: protected virtual void OnLowCharge (LowChargeEventArgs e) { if (LowCharge! =null) LowCharge (this, e); } Atunci cand intr-o clasa se declara un membru de tip ...


Fisiere in arhiva (1):

  • Evenimente In Net Framework C
    • Referat.doc

Imagini din acest proiect Cum descarc?

Descarca gratuit aceast referat (0 €)

Completezi numele, prenumele și adresa de email. După aceea primesti prin email link-ul pentru descărcare. Completeaza o adresă de email validă.

1. Numele, Prenumele si adresa de email:

Daca nu gasesti email-ul, verifica si directoarele spam, junk sau toate mesajele.



Hopa sus!