「C#」イベントにメソッドを追加(削除)するサンプル
書式
event デリゲートの型 イベントの名称
イベントにメソッドを+=で代入した場合は、メソッドを追加します。
イベントにメソッドを-=で代入した場合は、メソッドを削除します。
使用例
using System;
// デリゲートを定義
delegate void deleA();
class Sample
{
// event デリゲートの型 イベントの名称
public event deleA EventA;
public void funA()
{
Console.WriteLine("イベントに匿名メソッドを登録する");
//イベント名称EventA
EventA();
}
}
class Arkgame
{
public static void Main()
{
//クラスのインスタンスの生成
Sample sp = new Sample();
//イベントにメソッドPrintAを追加
sp.EventA += new deleA (PrintA);
//イベントにメソッドPrintBを追加
sp.EventA += new deleA(PrintB);
sp.funA();
//イベントにメソッドPrintAを削除
sp.EventA -= new deleA(PrintA);
sp.funA();
Console.ReadKey();
}
public static void PrintA() {
Console.WriteLine("study skill");
}
public static void PrintB()
{
Console.WriteLine("become smart");
}
}
実行結果
イベントに匿名メソッドを登録する
study skill
become smart
イベントに匿名メソッドを登録する
become smart