Definisjon av hendelser i C#:
En klasse eller et objekt kan varsle andre klasser eller objekter om hva som har skjedd gjennom hendelser. Klassen som sender (eller forårsaker) hendelsen kalles "utstederen", og klassen som mottar (eller behandler) hendelsen kalles "abonnenten".
Arrangementene har følgende kjennetegn:
- Utgiveren bestemmer når hendelsen skal tas opp, og abonnenten bestemmer hvilken handling som skal utføres som svar på hendelsen.
- Et arrangement kan ha flere abonnenter. En abonnent kan håndtere flere hendelser fra flere utstedere.
- Arrangementer uten abonnenter blir aldri utlyst.
- Hendelser brukes ofte for å informere brukere om handlinger, som knappeklikk eller menyvalg i grafiske brukergrensesnitt.
- Hvis en hendelse har flere abonnenter, kalles flere hendelseshåndterere samtidig når hendelsen opprettes. For å kalle hendelser asynkront, se Calling Synchronization Methods Using Asynchronous.
- Hendelsessynkroniseringstråder kan utnyttes.
Hendelsesnøkkelordet brukes for å erklære hendelser i utgiverklassen.
MS Link:Innloggingen med hyperkoblingen er synlig.
Det er faktisk ingen forskjell mellom skrivemetode A og skrivemetode B!
Du kan referere til:Innloggingen med hyperkoblingen er synlig.
EventHandler<T>Representerer en metode som aksepterer to parametere (objektsender, TEventArgs e) og returnerer en void-type. hvor TEventArgs må være en type avledet fra EventArgs-klassen. Den siste parameteren brukes til å lagre parameterne som kreves for hendelsen.
EventArgser basisklassen til en klasse som inneholder hendelsesdata, som ikke inneholder hendelsesdata, og brukes av hendelser som ikke sender tilstandsinformasjon til hendelseshåndtereren når hendelsen opprettes. Hvis hendelseshåndtereren trenger tilstandsinformasjon, må applikasjonen utlede en klasse fra denne klassen for å holde dataene.
Volatile.Read .NET 4.0 støttes ikke
// Sammendrag: Objektreferanser leses fra det angitte feltet. Når det trengs på systemet, vil en minnebarriere bli satt inn for å hindre prosessoren i å omorganisere minneoperasjoner, som vist nedenfor: Hvis denne metoden vises i koden etter å ha utført lesing/skriving, kan ikke prosessoren flytte den før denne metoden. // Parametere: Beliggenhet: Felt å lese. // Typeparametere: T: Typen felt som skal leses. Dette må være referansetypen, ikke verditypen. // Resultater fra retur: Les til referansen T. Denne referansen skrives av enhver prosessor i datamaskinen, uavhengig av antall prosessorer eller tilstanden til prosessorcachen. [Pålitelighetskontrakt(Konsistens.WillNotCorruptState, Cer.Suksess)] [SecuritySafeCritical] [TargetedPatchingOptOut("Ytelse kritisk for inline over NGen-bildegrenser")] offentlig statisk <T>T-lesing (referanse T-sted) hvor T : klasse;
|