Maison > Article > développement back-end > Comment définir et utiliser des événements personnalisés en C#
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.
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!