ネタ元→ちょっとイケてるINotifyPropertyChangedの実装 - present
上の記事を読み返していて、ふと思った。イベントを発生させる EventHandler
public static class EventHandlerExtensions { // EventHandler<T> 用拡張メソッド。 // イベントを発生させる。 public static void Raise<T>(this EventHandler<T> self, object sender, T e) where T : EventArgs { if (self != null) { self(sender, e); } } } public class GreetCompletedEventArgs : EventArgs { public GreetCompletedEventArgs(string result) { Result = result; } public string Result { get; private set; } } public class Greeting { public void Greet(string name) { string result = string.Format("Hello, {0}.", name); // イベント発生 GreetCompleted.Raise(this, new GreetCompletedEventArgs(result)); } public event EventHandler<GreetCompletedEventArgs> GreetCompleted; }
単純にイベントを発生させるだけなら、このメソッドを使えばいいな。