這篇文章主要為大家展示了“C#自定義事件之屬性改變引發(fā)事件的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“C#自定義事件之屬性改變引發(fā)事件的示例分析”這篇文章吧。
公司主營業(yè)務(wù):網(wǎng)站制作、成都網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出扎賚諾爾免費(fèi)做網(wǎng)站回饋大家。
具體內(nèi)容如下
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication15 { class Program { static void Main(string[] args) { Monitor m = new Monitor(); m.PropertyChanging += new Monitor.EventHandler(m_PropertyChanging); m.Year = 2014; m.Year = 1890; m.Year = 2013; } static bool First=false; static void m_PropertyChanging(object sender, PropertyChangingEventArgs e) { if (First==false) { First = true; } else { if (e.NewValue < 1900 || e.NewValue > 3000) e.Cancel = true; } } } //(屬性正在改變的時(shí)候)事件數(shù)據(jù) class PropertyChangingEventArgs : EventArgs { //構(gòu)造函數(shù) public PropertyChangingEventArgs(string PropertyName, int OldValue, int NewValue) { _PropertyName = PropertyName; _OldValue = OldValue; _NewValue = NewValue; } //存儲(chǔ)數(shù)據(jù) private string _PropertyName; private int _OldValue; private int _NewValue; private bool _Cancel; //獲取或設(shè)置屬性 public string PropertyName { set { _PropertyName = value; } get { return _PropertyName; } } public int OldValue { set { _OldValue = value; } get { return _OldValue; } } public int NewValue { set { _NewValue = value; } get { return _NewValue; } } public bool Cancel { set { _Cancel = value; } get { return _Cancel; } } } class Monitor { //定義委托 public delegate void EventHandler(object sender, PropertyChangingEventArgs e); //定義事件 public event EventHandler PropertyChanging; //事件處理(用屬性方法) int _YearValue; public int Year { get { return _YearValue; } set { if (_YearValue != value) { if (PropertyChanging != null) { PropertyChangingEventArgs e = new PropertyChangingEventArgs("Year", _YearValue, value); PropertyChanging(this, e); if (e.Cancel) { return; } else { _YearValue = value; } } } } } } }
以上是“C#自定義事件之屬性改變引發(fā)事件的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!