删除动态添加的事件处理程序

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