我有以下代码附加事件处理程序:
this.btnOK.Click += (s,e) => { MessageBox.Show("test"); };
我可以从通风口取消订阅lambda表达式吗?
答案 0 :(得分:5)
为什么不只是 保存 指定的lambda?
EventHandler lambda = (s,e) => { MessageBox.Show("test"); };
...
this.btnOK.Click += lambda;
...
this.btnOK.Click -= lambda;
答案 1 :(得分:-2)
您不能un-assign that event
,因为它是anonymous method
。
给它起个名字,你就可以取消订阅了。
答案 2 :(得分:-3)
你可以这样做:
this.btnOK.Click = null;