Definícia udalostí v C#:
Trieda alebo objekt môže upozorniť iné triedy alebo objekty na to, čo sa stalo prostredníctvom udalostí. Trieda, ktorá odošle (alebo spôsobí) udalosť, sa nazýva "vydavateľ" a trieda, ktorá udalosť prijíma (alebo spracováva), sa nazýva "odberateľ".
Podujatia majú nasledujúce charakteristiky:
- Vydavateľ rozhoduje, kedy udalosť zvýši, a predplatiteľ určuje, akú akciu vykoná v reakcii na udalosť.
- Podujatie môže mať viacerých odberateľov. Predplatiteľ môže spracovať viacero udalostí od viacerých vydavateľov.
- Podujatia bez odberateľov sa nikdy nevyhlasujú.
- Udalosti sa často používajú na informovanie používateľov o akciách, ako sú kliknutia tlačidiel alebo akcie výberu menu v grafickom používateľskom rozhraní.
- Ak má udalosť viacerých odberateľov, pri vyvolaní udalosti sa súčasne volajú viaceré obsługovače udalostí. Ak chcete volať udalosti asynchrónne, pozrite si Calling Synchronization Methods Using Asynchronous.
- Je možné využiť vlákna synchronizácie udalostí.
Kľúčové slovo udalosť sa používa na deklarovanie udalostí v triede vydavateľa.
Odkaz na MS:Prihlásenie na hypertextový odkaz je viditeľné.
V skutočnosti nie je žiadny rozdiel medzi metódou písania udalostí A a metódou písania B!
Môžete sa odvolať na:Prihlásenie na hypertextový odkaz je viditeľné.
EventHandler<T>Reprezentuje metódu, ktorá prijíma dva parametre (odosielateľ objektu, TEventArgs e) a vracia void typ. kde TEventArgs musí byť typ odvodený z triedy EventArgs. Tento parameter sa používa na uloženie parametrov požadovaných pre udalosť.
EventArgsje základná trieda triedy, ktorá obsahuje dáta udalostí, ktoré neobsahujú údaje o udalostiach a používajú ju udalosti, ktoré pri vyvolaní udalosti neodovzdávajú informácie o stave do obslužovateľa udalostí. Ak obsługovač udalostí potrebuje informácie o stave, aplikácia musí z tejto triedy odvodiť triedu, ktorá uchováva dáta.
Volatile.Read .NET 4.0 nie je podporovaný
// Súhrn: Referencie na objekty sa čítajú zo špecifikovaného poľa. Keď je to potrebné v systéme, vloží sa pamäťová bariéra, ktorá zabráni procesoru v preusporiadaní pamäťových operácií, ako je uvedené nižšie: Ak sa táto metóda objaví v kóde po vykonaní čítania/zápisu, procesor ju nemôže presunúť pred touto metódou. // Parametre: Lokalita: Polia na čítanie. // Typové parametre: T: Typ poľa, ktoré sa má čítať. Toto musí byť referenčný typ, nie hodnotový typ. // Výsledky návratu: Čítajte na odkaz T. Táto referencia je zapísaná akýmkoľvek procesorom v počítači, bez ohľadu na počet procesorov alebo stav cache procesora. [Zmluva o spoľahlivosti(Konzistentnosť.Neskorumpovaný štát, Určitý úspech)] [BezpečnosťBezpečnéKritické] [TargetedPatchingOptOut("Výkon kritický pre inline cez hranice NGen obrazu")] verejný statický T Read <T>(referenčná poloha T), kde T : trieda;
|