Ορισμός συμβάντων σε C#:
Μια κλάση ή ένα αντικείμενο μπορεί να ειδοποιήσει άλλες ή αντικείμενα για το τι έχει συμβεί μέσω συμβάντων. Η κλάση που στέλνει (ή προκαλεί) το συμβάν ονομάζεται "εκδότης" και η κλάση που λαμβάνει (ή επεξεργάζεται) το συμβάν ονομάζεται "συνδρομητής".
Οι εκδηλώσεις έχουν τα ακόλουθα χαρακτηριστικά:
- Ο εκδότης καθορίζει πότε θα αναφερθεί το συμβάν και ο συνδρομητής καθορίζει την ενέργεια που θα εκτελεστεί ως απόκριση στο συμβάν.
- Ένα συμβάν μπορεί να έχει πολλούς συνδρομητές. Ένας συνδρομητής μπορεί να χειριστεί πολλά συμβάντα από πολλούς εκδότες.
- Εκδηλώσεις χωρίς συνδρομητές δεν καλούνται ποτέ.
- Τα συμβάντα χρησιμοποιούνται συχνά για την ενημέρωση των χρηστών σχετικά με ενέργειες, όπως κλικ κουμπιών ή ενέργειες επιλογής μενού σε γραφικές διεπαφές χρήστη.
- Εάν ένα συμβάν έχει πολλούς συνδρομητές, καλούνται ταυτόχρονα πολλά προγράμματα χειρισμού συμβάντων κατά την αύξηση του συμβάντος. Για να καλέσετε συμβάντα ασύγχρονα, ανατρέξτε στην ενότητα Μέθοδοι συγχρονισμού κλήσεων με χρήση ασύγχρονων.
- Τα νήματα συγχρονισμού συμβάντων μπορούν να αξιοποιηθούν.
Η λέξη-κλειδί συμβάντος χρησιμοποιείται για τη δήλωση συμβάντων στην κλάση εκδότη.
Σύνδεσμος MS:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Στην πραγματικότητα δεν υπάρχει διαφορά μεταξύ της μεθόδου γραφής συμβάντων Α και της μεθόδου γραφής Β!
Μπορείτε να ανατρέξετε σε:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Πρόγραμμα χειρισμού συμβάντων<T>Αντιπροσωπεύει μια μέθοδο που δέχεται δύο παραμέτρους (αποστολέας αντικειμένου, TEventArgs e) και επιστρέφει έναν τύπο void. όπου TEventArgs πρέπει να είναι ένας τύπος που προέρχεται από την κλάση EventArgs. Η τελευταία παράμετρος χρησιμοποιείται για την αποθήκευση των παραμέτρων που απαιτούνται για το συμβάν.
EventArgsείναι η βασική κλάση μιας κλάσης που περιέχει δεδομένα συμβάντων, η οποία δεν περιέχει δεδομένα συμβάντων και χρησιμοποιείται από συμβάντα που δεν μεταβιβάζουν πληροφορίες κατάστασης στο πρόγραμμα χειρισμού συμβάντων κατά τη δημιουργία του συμβάντος. Εάν το πρόγραμμα χειρισμού συμβάντων χρειάζεται πληροφορίες κατάστασης, η εφαρμογή πρέπει να αντλήσει μια κλάση από αυτήν την κλάση για να διατηρήσει τα δεδομένα.
Πτητικό.Διαβάστε Το .NET 4.0 δεν υποστηρίζεται
// Περίληψη: Οι αναφορές αντικειμένων διαβάζονται από το καθορισμένο πεδίο. Όταν χρειάζεται στο σύστημα, θα εισαχθεί ένα φράγμα μνήμης για να αποτρέψει τον επεξεργαστή από την αναδιάταξη των λειτουργιών μνήμης, όπως φαίνεται παρακάτω: Εάν αυτή η μέθοδος εμφανιστεί στον κώδικα μετά την εκτέλεση μιας ανάγνωσης/εγγραφής, ο επεξεργαστής δεν μπορεί να την μετακινήσει πριν από αυτήν τη μέθοδο. // Παράμετροι: Τοποθεσία: πεδία για ανάγνωση. // Παράμετροι τύπου: Τ: Ο τύπος του πεδίου που θα διαβαστεί. Αυτός πρέπει να είναι ο τύπος αναφοράς και όχι ο τύπος τιμής. // Επιστροφή αποτελεσμάτων: Διαβάστε την αναφορά T. Αυτή η αναφορά συντάσσεται από οποιονδήποτε επεξεργαστή στον υπολογιστή, ανεξάρτητα από τον αριθμό των επεξεργαστών ή την κατάσταση της προσωρινής μνήμης του επεξεργαστή. [Σύμβαση αξιοπιστίας(Συνέπεια.WillNotCorruptState, Cer.Success)] [ΑσφάλειαΑσφαλήςΚρίσιμη] [TargetedPatchingOptOut("Κρίσιμη απόδοση για ενσωμάτωση πέρα από τα όρια εικόνας NGen")] δημόσιο στατικό T Read<T>(ref T τοποθεσία) όπου T : τάξη;
|