6

Existe-t-il un moyen de surcharger l'événement + = et - = opérateurs en C#? Ce que je veux faire est de prendre un écouteur d'événement et l'enregistrer à différents événements. Donc, quelque chose comme ceci:Surcharge de l'opérateur d'événement + =

SomeEvent += new Event(EventMethod); 

Alors, au lieu de se fixer à SomeEvent, il attache en fait à différents événements:

DifferentEvent += (the listener above); 
AnotherDiffEvent += (the listener above); 

Merci

Répondre

21

Il est la surcharge pas vraiment, mais voici comment vous le faites :

public event MyDelegate SomeEvent 
{ 
    add 
    { 
     DifferentEvent += value; 
     AnotherDiffEvent += value; 
    } 
    remove 
    { 
     DifferentEvent -= value; 
     AnotherDiffEvent-= value; 
    } 
} 

Plus d'informations sur ce sur switchonthecode.com

-4

Si vous êtes à la recherche de sortir de quelques frappes, vous pouvez le faire

SomeEvent += MyMethod; 
6

Vous pouvez le faire en C# en utilisant custom event accessors.

public EventHandler DiffEvent; 
public EventHandler AnotherDiffEvent; 

public event EventHandler SomeEvent 
{ 
    add 
    { 
     DiffEvent += value; 
     AnotherDiffEvent += value; 
    } 
    remove 
    { 
     DiffEvent -= value; 
     AnotherDiffEvent -= value; 
    } 
} 

Ce qui signifie que vous pouvez simplement appeler SomeEvent += new EventHandler(Foo) ou SomeEvent -= new EventHandler(Foo) et les gestionnaires d'événements seront ajoutés correspond le/automatiquement supprimé.