C# 關於EventHandler的使用


EventHandler, EventHandler<TEventArg> 是.net Framework內部定義的兩個委托.

默認的System.EventArgs不包含參數,但我們可以通過繼承在子類中添加我們需要的數據。

public class MyEventArgs : EventArgs
        {
            public string message
            {
                get;
                set;
            }

            public MyEventArgs(string mess)
            {
                message = mess;
            }
        }

上例中:類MyEventArgs繼承於System.EventArgs,同時也定義了一個string類型的message屬性,用於接收數據。

現在在具體事例來使用 MyEventArgs類

public class DoTest
        {
            public DoTest() { }
            //定義事件
            public event EventHandler<MyEventArgs> DoWork;

            public void Begin(string val)
            {
                if (DoWork != null)
                {
                    MyEventArgs e = new MyEventArgs(val);
                    DoWork(this, e);
                }
            }
        }
public class DoTest
        {
            public DoTest() { }
            //定義事件
            public event EventHandler<MyEventArgs> DoWork;

            public void Begin(string val)
            {
                if (DoWork != null)
                {
                    MyEventArgs e = new MyEventArgs(val);
                    DoWork(this, e);
                }
            }
        }

dos.DoWork 注冊了匿名函數 ,功能是 輸出顯示 參數值message。

在調用Begin("1")函數,顯示 1; 此時通過e.message就可得到傳入的參數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM