Heim  >  Artikel  >  Backend-Entwicklung  >  So definieren und verwenden Sie benutzerdefinierte Ereignisse in c#

So definieren und verwenden Sie benutzerdefinierte Ereignisse in c#

清浅
清浅Original
2019-03-09 16:50:377068Durchsuche

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
}

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; }
}

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; 
}

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);
    }
}

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);
    }
}

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!

Stellungnahme:
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
Vorheriger Artikel:Was bedeutet C-Sprache?Nächster Artikel:Was bedeutet C-Sprache?

In Verbindung stehende Artikel

Mehr sehen