C# delegate and event 規範寫法

來源:互聯網
上載者:User

//C# delegate ro event 規範寫法</p><p>//.NET Framewrok事件設計準則</p><p>//1>.事件命名準則應使用PascalCasing命名方式<br />//2>.聲明delegate時,使用void類型當作傳回值</p><p>delegate void PubComputerEventHandler();//沒有帶參數的delegate類型</p><p>// .NET FrameWrok 事件接受參數一律命名為 (sender , e)<br />delegate void PubLifeEventHandler( object sender , PubEventArgs e);//帶參數的delegate類型.<br />//定義事件提供資料類,對類以EventNameArges進行命名,從System.EventArgs派生該類,然後添加事件成員。<br />//如:<br />public delegate void EventNameHalder(object sender , EventNameEventArgs e);<br />///.NET FrameWrok事件設計準則<br />/// 在引發事件的類中提供一個受保護的方法。以OnEventName進行命名。在該方法中引發事件。<br />Protected vritual void OnEventName(EventAges e)<br />{<br />if(EventName != null)<br />{<br />EventName(this,e);<br />}<br />}</p><p>//下面寫一個完整的Demo</p><p>namespace Demospace<br />{<br />public class DemoClass<br />{<br />/// defautl Constructor<br />public DemoClass(){}<br />delegate void PubComputerEventHandler(object sender , PubEventArgs e); //聲明delagate<br />event PubComputerEventHandler ComputerEventArgs; //聲明event<br />protected vritual void OnComputer(PubEventArgs e)<br />{<br /> PubComputerEventHandler handler = ComputerEventArgs;//防止線程同步問題<br /> if(handler != null)<br /> {<br /> handler(this,e);<br /> }<br />}</p><p>/// 自訂基類<br />public class PubEventArges : System.EventArgs<br />{<br />private readonly string name<br />public PubEventArgs(string Name)<br />{<br /> this.name=Name;<br />}<br />}<br />} // End class</p><p>} //End namespace

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.