Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

C# Events: Gebruikersacties en Systeemnotificaties Afhandelen

Wat zijn Events?

Events zijn gebruikersacties zoals toetsaanslagen, klikken, muisbewegingen, of systeemgegenereerde notificaties. Applicaties moeten reageren op events wanneer deze zich voordoen. Events worden gebruikt voor communicatie tussen processen.

Delegates Gebruiken met Events

Events worden gedeclareerd en geactiveerd (raised) in een klasse en gekoppeld aan event handlers met behulp van delegates binnen dezelfde klasse of een andere klasse. De klasse die het event bevat, publiceert het event. Dit heet de publisher klasse. Een andere klasse die dit event accepteert, heet de subscriber klasse. Events volgen het publisher-subscriber model.

Een publisher is een object dat de definitie van het event en de delegate bevat. De koppeling tussen event en delegate wordt ook in dit object gedefinieerd. Een publisher-klasseobject activeert het event en dit wordt aan andere objecten gemeld.

Een subscriber is een object dat het event accepteert en een event handler voorziet. De delegate in de publisher-klasse roept de methode (event handler) van de subscriber-klasse aan.

Events Declareren

Om een event binnen een klasse te declareren, moet je eerst een delegatetype voor het event declareren:

public delegate string BoilerLogHandler(string str);

Vervolgens declareer je het event met het event sleutelwoord:

event BoilerLogHandler BoilerEventLog;

De bovenstaande code definieert een delegate genaamd BoilerLogHandler en een event genaamd BoilerEventLog, dat de delegate activeert wanneer het event wordt geactiveerd.

Voorbeeld

using System;
namespace SampleApp {
    public delegate string MyDel(string str);
    class EventProgram {
        event MyDel MyEvent;
        public EventProgram() {
            this.MyEvent += new MyDel(this.WelcomeUser);
        }
        public string WelcomeUser(string username) {
            return "Welkom " + username;
        }
        static void Main(string[] args) {
            EventProgram obj1 = new EventProgram();
            string result = obj1.MyEvent("Tutorials Point");
            Console.WriteLine(result);
        }
    }
}

Wanneer de bovenstaande code wordt gecompileerd en uitgevoerd, produceert dit het volgende resultaat:

Welkom Tutorials Point

C Taal

  1. C# Classes & Objects: Fundamenten voor Robuuste OOP
  2. C# Access Modifiers: Public, Private, Protected, Internal en Meer
  3. C# Static Keyword: Static Variabelen, Methodes en Classes Beheersen
  4. C# Abstract Classes & Methods: Een Praktische Gids
  5. C# Geneste Classes: Definitie, Gebruik en Inheritance
  6. C# Partial Classes en Methods: Een Praktische Gids
  7. C# Sealed Classes en Methods: Wanneer en Hoe Te Gebruiken
  8. Polymorfisme in C++ Begrijpen: Een Praktische Gids
  9. Data Abstractie in C++ Beheersen: Ontwerp Vereenvoudigen met Interface-Implementatie Scheiding
  10. Data Encapsulatie in C++: Uw Code Beschermen
  11. C# Programma Structuur: Kerncomponenten & Hello World Voorbeeld