从事件c#中取消订阅lambda表达式
本文关键字:lambda 表达式 取消 事件 | 更新日期: 2023-09-27 18:01:57
我有以下代码附加事件处理程序:
this.btnOK.Click += (s,e) => { MessageBox.Show("test"); };
我可以从vent中取消订阅lambda表达式吗?
为什么不直接保存分配的lambda呢?
EventHandler lambda = (s,e) => { MessageBox.Show("test"); };
...
this.btnOK.Click += lambda;
...
this.btnOK.Click -= lambda;
您不能使用un-assign that event
,因为它是anonymous method
。
给它一个名字,你就可以取消订阅了。
你可以这样做:
this.btnOK.Click = null;