event 呼び出しでパラメータを渡す

C# でイベントを呼び出すときにパラメータを渡します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プログラムの説明

  1. イベントに渡す引数は、好き勝手に自分で決めることは出来ません。
    System.EventArgs クラスを継承して、自分が渡したい情報を記録できるクラスを作りこれを使います。
        public class SampleEventArgs : EventArgs
        {
            public string message;
        }
        
  2. SampleEventArgs Class を生成して、message にメッセージを格納します。
    イベントを呼び出すときにパラメータとして sampleEventArgs を渡します。
    イベントで起動するハンドラの引数は、一般的に object と EventArgs を受け取ります。
        SampleEventArgs sampleEventArgs = new SampleEventArgs();
        sampleEventArgs.message = "main method parameter";
        class1.testdelegate( class1, sampleEventArgs );
        
  3. プログラムの全ソースコードです。
    Console.ReadLine(); は画面表示を確認するために追加したコードです。
    イベントの基礎は event の基礎 を参照して下さい。
    /***********************************/
    /*★ パラメータを渡す    前田 稔 ★*/
    /***********************************/
    using System;
    
    namespace ConsoleApp
    {
        public class SampleEventArgs : EventArgs
        {
            public string message;
        }
        public delegate void TestDelegate(object sender, SampleEventArgs e);
        class Class1
        {
            public event TestDelegate testdelegate;
            public void handler( object o, SampleEventArgs e )
            {
                Console.WriteLine(e.message);
            }
            static void Main()
            {
                Class1 class1 = new Class1();
                class1.testdelegate += new TestDelegate(class1.handler);
                SampleEventArgs sampleEventArgs = new SampleEventArgs();
                sampleEventArgs.message = "main method parameter";
                class1.testdelegate( class1, sampleEventArgs );
                Console.ReadLine();
            }
        }
    }
    

超初心者のプログラム入門(C# Frame Work)