C# delegate event关系
2013-04-27 17:17
316 查看
有几篇文章写的蛮好
点击打开链接http://www.tracefact.net/csharp-programming/delegates-and-events-in-csharp.aspx
点击打开链接http://www.cnblogs.com/lin614/archive/2007/01/30/634576.html
起因:
发现这个event加不加的无所谓嘛,都可以执行的,后来发现有玄机的,参看上面2篇文章。
//public EventHandler<CarInfoArgs> noticeDelegate;
public event EventHandler<CarInfoArgs> noticeDelegate;
点击打开链接http://www.tracefact.net/csharp-programming/delegates-and-events-in-csharp.aspx
点击打开链接http://www.cnblogs.com/lin614/archive/2007/01/30/634576.html
起因:
发现这个event加不加的无所谓嘛,都可以执行的,后来发现有玄机的,参看上面2篇文章。
//public EventHandler<CarInfoArgs> noticeDelegate;
public event EventHandler<CarInfoArgs> noticeDelegate;
class Program { static void Main(string[] args) { Dealer xiaowang = new Dealer("xiaowang"); Consumer lilaoban = new Consumer(); Consumer zhanglaoban = new Consumer(); xiaowang.noticeDelegate +=new EventHandler<CarInfoArgs>( lilaoban.getNotice); xiaowang.noticeDelegate += zhanglaoban.getNotice; xiaowang.notice("qq"); xiaowang.noticeDelegate -= zhanglaoban.getNotice; xiaowang.notice("handrover"); //xiaowang.noticeDelegate = null; Console.ReadLine(); } static void xiaowang_noticeDelegate(object sender, CarInfoArgs e) { throw new NotImplementedException(); } } class CarInfoArgs :EventArgs{ public string carinfo { get; set; } public CarInfoArgs(string car) { this.carinfo = car; } } class Dealer { public string name { get; set; } public Dealer(string name) { this.name = name; } //public EventHandler<CarInfoArgs> noticeDelegate; public event EventHandler<CarInfoArgs> noticeDelegate; public void notice(string car) { if (noticeDelegate != null) { noticeDelegate(this, new CarInfoArgs(car)); } } } class Consumer { public void getNotice(object sender, CarInfoArgs e) { Console.WriteLine("{0} got notice from {1} on car type : {2}",this.ToString(),((Dealer)sender).name,e.carinfo); } }
相关文章推荐
- C# delegate event关系
- C#中的Delegate和event
- C# 中的 delegate, Lambda 表达式 和 event
- C# delegate event
- [Note]CLR via C#3-Event and Delegate
- 一个C#中使用 event 和 delegate的小例子。
- C#委托delegate与事件event
- C# delegate event 例子
- 关于C# 委托(delegate)与事件(event)的用法及事例
- C# Event是对Delegate的封装,Delegate类似函数指针
- C#中的delegate和event,WF中传递参数和监听事件会用到
- new,virtual,override,interface,delegate,event-------------C#——方法实现总结
- 终于会用c#中的delegate(委托)和event(事件)了
- 终于会用c#中的delegate(委托)和event(事件)了
- C#event 与 delegate的区别
- C#用event 和delegate实现Form间通信
- C# delegate 委托 event 事件
- C#:代表(delegate)和事件(event)
- C#中的委托(Delegate)和事件(Event)
- 学习C# delegate和C# event