Maison développement back-end Tutoriel C#.Net Comment définir et utiliser des événements personnalisés en C#

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

Mar 09, 2019 pm 04:50 PM
Événements personnalisés

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 de ce site Web
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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment lire les paramètres de l'application à partir d'AppSettings.json en C #? Comment lire les paramètres de l'application à partir d'AppSettings.json en C #? Sep 15, 2025 am 02:16 AM

La réponse est de lire AppSettings.json à l'aide de Microsoft.Extensions.Configuration. 1. Créez des appsettings.json et définissez les propriétés de copie; 2. Installez le package Microsoft.Extensions.Configuration.json; 3. Chargez la configuration avec ConfigurationBuilder; 4. Lisez la valeur via l'indexeur ou GetConnectionString; 5. Il est recommandé d'utiliser des classes de configuration fortement typées se lier ou se lier.

C # String vs StringBuilder Performances et utilisation. C # String vs StringBuilder Performances et utilisation. Sep 16, 2025 am 05:24 AM

Usestringforminimal, strictextoperations; UsestringBuilderforfrequentModifications ininloopsorlARGE-ScaleconcatenationStoimproveterformancean pourdcececememoryallocation.

Comment utiliser correctement la classe httpclient en C #? Comment utiliser correctement la classe httpclient en C #? Sep 15, 2025 am 01:23 AM

HttpClient doit être réutilisé pendant longtemps plutôt que créé fréquemment. Il est recommandé d'utiliser la gestion de l'injection IhttpClientFactory pour éviter l'épuisement de la prise; S'il n'y a pas de DI, utilisez des cas statiques pour assurer un cycle de vie raisonnable.

De monolithe aux microservices: un guide de migration pour les applications .NET De monolithe aux microservices: un guide de migration pour les applications .NET Sep 19, 2025 am 05:21 AM

La migration des monomères .NET vers les microservices devrait éviter les réécritures ponctuelles. 1. Tout d'abord, effacez la migration des machines mobiles et évitez les pièges communs pour garantir que l'équipe a des DevOps et des capacités d'observabilité; 2. Utilisez le mode Strangler pour remplacer progressivement, acheminer les nouvelles fonctions vers de nouveaux services via des passerelles API; 3. Utiliser la conception axée sur le domaine pour identifier les contextes limités, diviser les services en fonction des limites commerciales et isoler les bases de données; 4. Sélectionnez une méthode de communication appropriée, utilisez HTTP / REST pour les demandes de l'utilisateur et utilisez des messages asynchrones tels que AzureServiceBus pour les événements; 5. Assurer la cohérence des données de service croisé via la cohérence finale de l'événement, le mode SAGA et le mode d'obstruction; 6. Intégration précoce du Serilog, de l'OpenTelemétrie et d'autres outils pour construire la date

Quelle est la différence entre First () et FirstOrdeFault () dans C # linq? Quelle est la différence entre First () et FirstOrdeFault () dans C # linq? Sep 16, 2025 am 12:33 AM

First () ThrowsanExceptionIfNoElementsisfound, tandis que le perstordefault () returnsadefaultValue; useFirst () whenthesequenceisexpectiondTobenon-vice, etFirsorDefault () tohandleempty séquences.

Quels sont les différents modificateurs d'accès en C #? Quels sont les différents modificateurs d'accès en C #? Sep 21, 2025 am 01:43 AM

Les membres du public sont accessibles par n'importe quel code; 2. Private n'est accessible que dans la classe; 3. Protected permet l'accès aux classes et aux classes dérivées; 4. INTERNEL est limité à l'accès dans le même assemblage; 5.ProtectedInternal est une union de protégée et interne, utilisée pour l'accès à des classes dérivées ou à la même assemblée.

Comment créer et utiliser une annulation d'annulation en C #? Comment créer et utiliser une annulation d'annulation en C #? Sep 21, 2025 am 01:49 AM

Créez un annulation de l'annulation pour obtenir la réduction de l'annulation, qui est utilisée pour informer d'autres threads ou composants pour annuler l'opération. 2. Passez le jeton à une méthode asynchrone qui prend en charge l'annulation (comme task.run). La tâche peut vérifier périodiquement la demande d'annulation pour réaliser une résiliation gracieuse.

Comment utiliser la correspondance de motifs en C #? Comment utiliser la correspondance de motifs en C #? Sep 20, 2025 am 04:32 AM

PatternMatchinginc # isafeatuesedToCheckObjectSagainstpatterNSAndextractInformationCisely.1.TypepatterNSallowCheCkingAndcastingInOneStep, AsshownwithIf (ValueAsstringstr) .2

See all articles