クラスがそのメソッド内のイベントを発生させる場合、そのクラスは何がイベントにサブスクライブするかを知る必要はありません。また、加入者がいる場合は重要ではありません。サブスクライバを持たない可能性のあるイベントの処理
OnTriggerイベントのサブスクライバが存在しない場合、例外が発生します。
public class EventTrigger
{
public static void Main(string[] args)
{
(new EventTrigger()).Trigger();
}
public delegate void Delegate1();
public event Delegate1 OnTrigger;
void Trigger()
{
OnTrigger();
}
}
私はこのようなイベントを呼び出すことができます。
しかし、誘因者がサブスクリプションについて知る必要はないので、それは私にとっては不思議なようです。
私の質問は:
は、私はそれを使用するたびにイベント参照がnullであるかどうかを確認する必要があります。
トピックに関する興味深い議論があります:http://stackoverflow.com/questions/248072/evil-use-of-extension-methods – ken
私は宇宙で一人ではありません。それは私の気持ちを良くする。しかし、私はそれも良いアプローチではないと思う。それは拡張メソッドによって行われるためではありません。それはまた、より多くのキーボード入力を必要とし、より汚れてしまうからです。 –