C#事件監控變數值的改變

來源:互聯網
上載者:User

    如何使用C#的事件來監控變數的改變?這是一個非常常見的問題。並且如果能夠使用事件來解決的話對於編程會帶來很大的便利同時保持效能的優良。

 

    以下是完整的代碼

 

public class Program{    //需要監控的欄位    private int myValue;    //屬性設定,此處調用了事件觸發函數    public bool MyValue    {        get { return myValue; }        set         {            //如果變數改變則呼叫事件觸發函數            if (value!=myValue)            {                WhenMyValueChange();            }            myValue = value;         }    }    //定義的委託    public delegate void MyValueChanged(object sender, EventArgs e);    //與委託相關聯的事件    public event MyValueChanged OnMyValueChanged;    //建構函式初始化初值並綁定一個事件處理函數    public Program()    {        myValue = 0;        OnMyValueChanged += new MyValueChanged(afterMyValueChanged);    }    //事件處理函數,在這裡添加變數改變之後的操作    private void afterMyValueChanged(object sender, EventArgs e)    {        //do something    }    //事件觸發函數    private void WhenMyValueChange()    {        if (OnMyValueChanged != null)        {            OnMyValueChanged(this, null);        }    }}

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.