「C#」イベントにメソッドを追加(削除)するサンプル

2021年10月19日

書式
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

C#

Posted by arkgame