Definiția evenimentelor în C#:
O clasă sau un obiect poate notifica alte clase sau obiecte despre ceea ce s-a întâmplat prin evenimente. Clasa care trimite (sau cauzează) evenimentul se numește "emițător", iar clasa care primește (sau procesează) evenimentul se numește "abonat".
Evenimentele au următoarele caracteristici:
- Editorul decide când să ridice evenimentul, iar abonatul decide ce acțiune să efectueze ca răspuns la eveniment.
- Un eveniment poate avea mai mulți abonați. Un abonat poate gestiona mai multe evenimente de la mai mulți emițători.
- Evenimentele fără abonați nu sunt niciodată anunțate.
- Evenimentele sunt adesea folosite pentru a informa utilizatorii despre acțiuni, cum ar fi click-urile pe butoane sau acțiunile de selecție a meniului în interfețele grafice.
- Dacă un eveniment are mai mulți abonați, mai mulți handleri de evenimente sunt apelați simultan când evenimentul este ridicat. Pentru a chema evenimente asincron, vezi Apelarea metodelor de sincronizare folosind asincronul.
- Firele de sincronizare a evenimentelor pot fi folosite.
Cuvântul cheie event este folosit pentru a declara evenimentele din clasa publisher.
MS link:Autentificarea cu hyperlink este vizibilă.
De fapt, nu există nicio diferență între metoda de scriere a evenimentelor A și metoda B!
Poți face referire la:Autentificarea cu hyperlink este vizibilă.
EventHandler<T>Reprezintă o metodă care acceptă doi parametri (object sender, TEventArgs e) și returnează un tip void. unde TEventArgs trebuie să fie un tip derivat din clasa EventArgs. Acest ultim parametru este folosit pentru a stoca parametrii necesari evenimentului.
EventArgseste clasa de bază a unei clase care conține date de evenimente, care nu conține date de evenimente, și este folosită de evenimentele care nu transmit informații de stare handlerului de evenimente atunci când evenimentul este ridicat. Dacă handler-ul de evenimente are nevoie de informații despre stare, aplicația trebuie să derive o clasă din această clasă pentru a păstra datele.
Volatil. Citește .NET 4.0 nu este suportat
// Rezumat: Referințele la obiecte citite din câmpul specificat. Când este necesară pe sistem, va fi introdusă o barieră de memorie pentru a împiedica procesorul să reordoneze operațiunile de memorie, așa cum se arată mai jos: Dacă această metodă apare în cod după efectuarea unei citiri/scrieri, procesorul nu o poate muta înainte de această metodă. // Parametri: Locație: Câmpuri de citit. // Parametri de tip: T: Tipul de câmp care trebuie citit. Acesta trebuie să fie tipul de referință, nu tipul de valoare. // Rezultatele revenirii: Citește până la referința T. Această referință este scrisă de orice procesor din calculator, indiferent de numărul de procesoare sau de starea cache-ului procesorului. [ContractTrustContract(Consistency.WillNotCorruptState, Cer.Success)] [SecuritySafeCritical] [TargetedPatchingOptOut("Performanță critică pentru inline peste limitele imaginii NGen")] public static T <T>Read(vezi locația T) unde T : clasă;
|