Maison  >  Article  >  développement back-end  >  Comment définir et utiliser des événements personnalisés en C#

Comment définir et utiliser des événements personnalisés en C#

清浅
清浅original
2019-03-09 16:50:377083parcourir

Méthode C# de définition et d'utilisation d'événements personnalisés dans un programme : définissez d'abord l'événement dans la classe ; puis définissez les paramètres de l'événement ; puis déclenchez l'événement dans TestClass et enfin utilisez l'événement.

Comment définir et utiliser des événements personnalisés en C#

Les étapes permettant à C# de définir et d'utiliser des événements personnalisés dans le programme sont : définissez d'abord l'événement dans la classe, puis définissez les paramètres de l'événement dans TestClass Déclencher l'événement et enfin utiliser l'événement

[Cours recommandé : Tutoriel C#]

C# définir et utiliser des événements personnalisés dans le programme peut être divisé en plusieurs étapes suivantes :

Étape 1 : Définir l'événement dans la classe

using System;
public class TestClass
{
    //....
    public event EventHandler TestEvent
}

Étape 2 : Définir les paramètres de l'événement

Remarque : La classe de paramètres d'événement TestEventArgs hérite de System.EventArgs

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

Étape 3 : Déclencher l'événement dans TestClass

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

Étape 4 : Utiliser l'événement

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

La procédure complète est la suivante

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

Résumé : Ce qui précède est tout le contenu de cet article, j'espère qu'il sera utile à tout le monde.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Que signifie le langage C ?Article suivant:Que signifie le langage C ?