イベント+ =と - =演算子をC#でオーバーロードする方法はありますか?私がやりたいことは、イベントリスナーをとり、それを別のイベントに登録することです。このようなので、何か:+ =イベント演算子のオーバーロード
DifferentEvent += (the listener above);
AnotherDiffEvent += (the listener above);
おかげ
イベント+ =と - =演算子をC#でオーバーロードする方法はありますか?私がやりたいことは、イベントリスナーをとり、それを別のイベントに登録することです。このようなので、何か:+ =イベント演算子のオーバーロード
DifferentEvent += (the listener above);
AnotherDiffEvent += (the listener above);
おかげ
それは本当にオーバーロードしていないが、ここであなたがそれを行う方法です。
SomeEvent += new Event(EventMethod);
を次に代わりSomeEventに装着するのは、それが実際には異なるイベントにアタッチ:
public event MyDelegate SomeEvent
{
add
{
DifferentEvent += value;
AnotherDiffEvent += value;
}
remove
{
DifferentEvent -= value;
AnotherDiffEvent-= value;
}
}
あなただけ離れていくつかのタイピングから得るために探しているなら、あなたはこの
SomeEvent += MyMethod;
を行うことができますあなたはcustom event accessorsを使用してC#では、これを行うことができます。あなたは、単にSomeEvent += new EventHandler(Foo)
またはSomeEvent -= new EventHandler(Foo)
とappropiateイベントハンドラを呼び出すことができることを意味し
public EventHandler DiffEvent;
public EventHandler AnotherDiffEvent;
public event EventHandler SomeEvent
{
add
{
DiffEvent += value;
AnotherDiffEvent += value;
}
remove
{
DiffEvent -= value;
AnotherDiffEvent -= value;
}
}
は自動的に削除/追加されます。
あなたは+を使用してデリゲートを組み合わせることができますし、 - 演算子
はHow to: Combine Delegates (Multicast Delegates)(C# Programming Guide)
を参照してください。