2009-05-13 8 views
4

J'ai essayé un bon moyen de mémoriser comment écrire des événements et des gestionnaires d'événements en C# pendant un moment. Chaque fois que je veux faire référence à un tutoriel sur Internet, ils ont tendance à être verbeux.Comment écrire des événements et des eventhandlers en C#?

La question est de savoir comment écrire des événements et des gestionnaires d'événements en C#? Avez-vous un exemple de code qui illustre facilement comment écrire un tel?

Répondre

9

Ils ne doivent pas être bavard:

// declare an event: 
public event EventHandler MyEvent; 

// raise an event: 
var handler = MyEvent; 
if(handler != null) handler(this, EventArgs.Empty); 

// consume an event with an anon-method: 
obj.MyEvent += delegate { Console.WriteLine("something happened"); }; 

// consume an event with a named method: 
obj.MyEvent += SomeHandler; 

void SomeHandler(object sender, EventArgs args) { 
    Console.WriteLine("something happened"); 
} 

Ce qui est le bit qui est en cours gênant?

+1

+1. Je savais que vous ou Jon me battrais à celui-ci ... et donner une meilleure réponse –

+1

le bit qui est gênant sont tous les tutoriels qui ont tendance à décrire les délégués ainsi mais tout ce que je veux est une référence rapide – Spoike

+0

Je me suis moqué de la "Quelque chose est arrivé" message! LE fameux message d'erreur d'installation de Windows 10 :) – Dexter

Questions connexes