删除动态添加的事件处理程序
Remove a dynamically added event handler
我有这样的代码:
button1.Click += (s, e) =>
{
};
现在如何动态删除此处理程序?类似于:
button1.Click = null;
活动的关键在于它们是 subscribe/unsubscribe,您不应该退订其他活动而不是您自己的活动。因此,您需要跟踪您的活动:
var click = (s, e) =>
{
};
button1.Click += click;
您可以通过以下方式取消订阅:
button1.Click -= click;
编辑
您似乎可以使用建议的方法 here。
我有这样的代码:
button1.Click += (s, e) =>
{
};
现在如何动态删除此处理程序?类似于:
button1.Click = null;
活动的关键在于它们是 subscribe/unsubscribe,您不应该退订其他活动而不是您自己的活动。因此,您需要跟踪您的活动:
var click = (s, e) =>
{
};
button1.Click += click;
您可以通过以下方式取消订阅:
button1.Click -= click;
编辑
您似乎可以使用建议的方法 here。