C# event 與 EventHandler

C# event 與 EventHandler 筆記

說來慚愧...其實C#很多功能我很少用到,包括像是自己建立event與EventHandler,不過這東西是滿好用的,當物件產生怎樣的狀況時後可以產生通知,這個通知會帶有一些參數資訊,接著使用者可以自訂要如何處理,以前也曾花了一點時間稍微了解寫法,不過又忘了,現在溫習一下...

反正我都是寫簡單sample來理解.

namespace MySample
{
    public partial class Sample : Form
    {
        public Sample()
        {
            InitializeComponent();
        }

        private void SampleRun_Click(object sender, EventArgs e)
        {
            event_test_sample testbj = new event_test_sample();
            testbj.test_event += new EventHandler(test_method);
            testbj.run_test();

        }
   
        void test_method(object sender, EventArgs e)
        {
            Console.WriteLine((e as MyArgs).value1);
        }
    }

    class MyArgs : EventArgs
    {
        public int value1 = 0;
    }
    class event_test_sample
    {
        public event EventHandler test_event;
        public void run_test()
        {
            MyArgs obj = new MyArgs();
            for (int i = 0; i < 10; i++)
            {
                Console.WriteLine(i);
                obj.value1 += i;
            }
            test_event(this, obj);
        }
    }
}

就這樣,其實也不複雜.