C#のイベント機能VBでイベント機能を利用するには、イベントを発生させるクラスでEventステートメントによりイベントを宣言し、RaiseEventステートメントによりイベントを発生させ、イベントを受信するクラスではWithEventsで変数を宣言することなどにより簡単に可能となる。これと同様のことをC#で行うにはどのようにすればよいのだろうか。 これがVBほど簡単にはいかない。ヘルプなどを調べると「デリゲート」やら「イベントハンドラ」などの「?」な言葉が並ぶ。ここではこれらの理屈は抜きにしてこれらを実現させる簡単な方法を考えてみる。 最も簡単な(?)イベントまず次のような超単純なクラス「SleepClass」を作ってみる。ここではまだイベントを使用していない。とりあえずStartメソッドを実行すると5秒間停止するだけである。