「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");
}
}
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");
}
}
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