So definieren und verwenden Sie benutzerdefinierte Ereignisse in c#

清浅
Freigeben: 2020-10-12 17:35:36
Original
7104 Leute haben es durchsucht

C#-Methode zum Definieren und Verwenden benutzerdefinierter Ereignisse in einem Programm: Definieren Sie zuerst das Ereignis in der Klasse. Definieren Sie dann die Parameter des Ereignisses.

So definieren und verwenden Sie benutzerdefinierte Ereignisse in c#

Die Schritte für C# zum Definieren und Verwenden benutzerdefinierter Ereignisse im Programm sind: Definieren Sie zuerst das Ereignis in der Klasse und dann die Parameter des Ereignisses in TestClass Erhöhen Sie das Ereignis und verwenden Sie es schließlich

[Empfohlener Kurs: C#-Tutorial]

C# Definieren und verwenden Sie benutzerdefinierte Ereignisse im Programm in die folgenden Schritte unterteilt werden:

Schritt 1: Ereignis in der Klasse definieren

using System;
public class TestClass
{
    //....
    public event EventHandler TestEvent
}
Nach dem Login kopieren

Schritt 2: Ereignisparameter definieren

Hinweis: Die Ereignisparameterklasse TestEventArgs erbt von System.EventArgs

using System;
public class TestEventArgs : EventArgs
{
    public TestEventArgs() : base() { }
 
    public string Message { get; set; }
}
Nach dem Login kopieren

Schritt 3: Erhöhen Sie das Ereignis

public class TestClass
{
    // 这个方法引发事件
    public void RaiseTestEvent(string message)
    {
        if (TestEvent == null) return;
        TestEvent(this, new TestEventArgs { Message = message });
    }
    public event EventHandler TestEvent; 
}
Nach dem Login kopieren

in TestClass. Schritt 4: Verwenden Sie das Ereignis

class Program
{
    static void Main(string[] args)
    {
 
        TestClass tc = new TestClass();
        // 挂接事件处理方法
        tc.TestEvent += Tc_TestEvent;
         
        Console.WriteLine("按任意键引发事件");
        Console.ReadKey();        
        // 引发事件
        tc.RaiseTestEvent("通过事件参数传递的字符串");
         
        Console.WriteLine("按任意键退出");
        Console.ReadKey();
    }
    private static void Tc_TestEvent(object sender, EventArgs e)
    {
        // 将事件参数强制转换为TestEventArgs
        TestEventArgs te = (TestEventArgs)e;
        // 显示事件参数中的Message
        Console.WriteLine(te.Message);
    }
}
Nach dem Login kopieren

Das vollständige Programm lautet wie folgt

using System;
public class TestClass
{
    public void RaiseTestEvent(string message)
    {
        if (TestEvent == null) return;
        TestEvent(this, new TestEventArgs { Message = message });
    }
 
    public event EventHandler TestEvent; 
}
public class TestEventArgs : EventArgs
{
    public TestEventArgs() : base() { }
 
    public string Message { get; set; }
}
class Program
{
    static void Main(string[] args)
    {
 
        TestClass tc = new TestClass();
        tc.TestEvent += Tc_TestEvent;
        Console.WriteLine("按任意键引发事件");
        Console.ReadKey();
        tc.RaiseTestEvent("通过事件参数传递的字符串");
        Console.WriteLine("按任意键退出");
        Console.ReadKey();
    }
    private static void Tc_TestEvent(object sender, EventArgs e)
    {
        TestEventArgs te = (TestEventArgs)e;
        Console.WriteLine(te.Message);
    }
}
Nach dem Login kopieren

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er wird hilfreich sein alle.

Das obige ist der detaillierte Inhalt vonSo definieren und verwenden Sie benutzerdefinierte Ereignisse in c#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage