承担项目中一个模块的编写的时候,我们可以写出一系列的public接口供其他人调用,这种方式一般都是被动的等待被调用,然后处理完事务后返回给调用者接口。可是当我们的模块中发生了一些事情,需要主动去通知别人的时候,public接口就很无力了,像这种情况就可以用event来做。
1 public class EventDemo 2 { 3 public delegate void myEventHandler(object sender,myEventArgs e); 4 public static event myEventHandler myEvent; 5 6 private void getSomething() 7 { 8 /*发生了一些事情,想要通知使用我的模块的用户*/ 9 if(myEvent!=null) 10 { 11 myArgs=new myEventArgs(); 12 //将事件通知出去了。需要让别人知道的东西可以放在myArgs里面传递出去 13 myEvent(this,myArgs); 14 } 15 } 16 } 17 18 public class myEventArgs:EventArgs 19 { 20 public int myIntData; 21 public bool myBoolData; 22 }
呵呵,第一次在CNBOLG上写些自己的东西,挺简单的。不过贵在坚持,我会随着我的博客一起成长的。
C#中事件"event"的使用
时间: 2024-10-30 10:45:48