Evenimente în Net Framework C

Previzualizare referat:

Extras din referat:

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 ...

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Evenimente In Net Framework C
    • Referat.doc
Alte informații:
Tipuri fișiere:
doc
Diacritice:
Nu
Nota:
7/10 (2 voturi)
Anul redactarii:
2007
Nr fișiere:
1 fisier
Pagini (total):
3 pagini
Imagini extrase:
2 imagini
Nr cuvinte:
536 cuvinte
Nr caractere:
3 145 caractere
Marime:
10.44KB (arhivat)
Publicat de:
Anonymous A.
Nivel studiu:
Gimnaziu
Tip document:
Referat
Materie:
Informatică
Predat:
la gimnaziu
Sus!