C# įvykių apibrėžimas:
Klasė arba objektas gali pranešti kitoms klasėms ar objektams apie tai, kas įvyko per įvykius. Klasė, kuri siunčia (arba sukelia) įvykį, vadinama "emitentu", o klasė, kuri priima (arba apdoroja) įvykį, vadinama "abonentu".
Įvykiai pasižymi šiomis savybėmis:
- Leidėjas nustato, kada kelti įvykį, o prenumeratorius nusprendžia, kokį veiksmą atlikti reaguojant į įvykį.
- Įvykis gali turėti kelis prenumeratorius. Abonentas gali apdoroti kelis įvykius iš kelių emitentų.
- Renginiai be prenumeratorių niekada nekviečiami.
- Įvykiai dažnai naudojami informuoti vartotojus apie veiksmus, pvz., mygtukų paspaudimus ar meniu pasirinkimo veiksmus grafinėse vartotojo sąsajose.
- Jei įvykis turi kelis prenumeratorius, kelios įvykių apdorojimo programos iškviečiamos vienu metu, kai įvykis pakeliamas. Norėdami iškviesti įvykius asinchroniškai, žr. Sinchronizavimo metodų iškvietimas naudojant asinchroninį.
- Galima naudoti įvykių sinchronizavimo gijas.
Įvykio raktažodis naudojamas įvykiams paskelbti leidėjo klasėje.
MS nuoroda:Hipersaito prisijungimas matomas.
Iš tikrųjų nėra jokio skirtumo tarp įvykių rašymo metodo A ir rašymo metodo B!
Galite nurodyti:Hipersaito prisijungimas matomas.
Įvykių apdorojimo programa<T>Nurodo metodą, kuris priima du parametrus (objekto siuntėjas, TEventArgs e) ir pateikia void tipą. kur TEventArgs turi būti tipas, išvestas iš EventArgs klasės. Pastarasis parametras naudojamas renginiui reikalingiems parametrams saugoti.
EventArgsyra pagrindinė klasė klasės, kurioje yra įvykių duomenų, kuriuose nėra įvykių duomenų, ir naudojama įvykiams, kurie neperduoda būsenos informacijos įvykių apdorojimo programai, kai įvykis iškeliamas. Jei įvykių apdorojimo programai reikia būsenos informacijos, programa turi išvesti klasę iš šios klasės, kad būtų laikomi duomenys.
Nepastovus.Skaityti .NET 4.0 nepalaikomas
// Suvestinė: Objektų nuorodos nuskaitomos iš nurodyto lauko. Kai to prireiks sistemoje, bus įdėtas atminties barjeras, kad procesorius negalėtų pertvarkyti atminties operacijų, kaip parodyta toliau: Jei šis metodas pasirodo kode atlikus skaitymą / rašymą, procesorius negali jo perkelti prieš šį metodą. // Parametrai: Vieta: laukus, kuriuos reikia skaityti. // Tipo parametrai: T: Skaitomo lauko tipas. Tai turi būti nuorodos tipas, o ne reikšmės tipas. // Grąžinti rezultatus: Perskaitykite nuorodą T. Šią nuorodą rašo bet kuris kompiuterio procesorius, nepriklausomai nuo procesorių skaičiaus ar procesoriaus talpyklos būsenos. [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] [SaugumasSaugusKritinis] [TargetedPatchingOptOut("Našumas labai svarbus įterpiant NGen vaizdo ribas")] viešas statinis T Skaityti <T>(nuoroda T vieta), kur T : klasė;
|