C#のイベント処理の書き方、なんか珍妙ですぐ忘れるのでメモ。
イベントの型の定義
// イベント引数の型 public class HogeEventArgs : EventArgs { public string HogeData; } // イベントの型 public delegate void HogeEvent(object sender, HogeEventArgs e);
イベントを出す側
public class HogeSender { // イベントの定義 public event HogeEvent onHoge; private piyo() { // イベント引数の作成 HogeEventArgs args = new HogeEventArgs (); args.HogeData= "ああああ"; // イベント発行 onHoge(this, args); }
イベントを受ける側
public class HogeReceiver { private HogeSender hogeSender; public HogeReceiver() { hogeSender = new HogeSender(); // イベントハンドラの設定 hogeSender.onHoge += onHoge; } // イベントハンドラの実装 private void onHoge (object sender, HogeEventArgs e) { // ここにイベント発生時の処理 } }