有關委託與事件的幾個小事例


 

 

 

 

 

  

--模擬頁面中的控件
public class Class1
{
    public delegate void mydelegate(string str);
    public event mydelegate myevent;
    public void doevent()
    {
        if (myevent != null)
        {
            myevent("測試數據");
        }
    }
}
 --模擬PAGE頁面
public class Class2
{
    private Class1 c1;
    private string message;
    private void init()
    {
        c1 = new Class1();
        c1.myevent += showString;
    }
    public Class2()
    {
        init();
    }

public void showString(string message)
    {
        this.message = message;
    }

    public string startevent()
    {
        c1.doevent();
        return message;
    }
}

---調用的頁面
    protected void Button1_Click(object sender, EventArgs e)
    {
        Class2 c2 = new Class2();
        this.Button1.Text = c2.startevent();
    }

 

發佈了68 篇原創文章 · 獲贊 2 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章