如何断开匿名事件?

Ang*_*ker 6 c# events disconnect visual-studio-2008

可能重复:
如何取消注册"匿名"事件处理程序

我有这样的代码:

        Binding bndTitle = this.DataBindings.Add("Text", obj, "Title");
        bndTitle.Format += (sender, e) =>
        {
            e.Value = "asdf" + e.Value;
        };
Run Code Online (Sandbox Code Playgroud)

我现在如何断开Format事件?

Chr*_*ich 3

不幸的是,你不能这样做。如果您在同一范围内删除事件,则可以创建一个本地变量来保存 lambda:

Binding bndTitle = this.DataBindings.Add("Text", obj, "Title");
EventHandler handler = (sender, e) =>
{
    e.Value = "asdf" + e.Value;
};

bndTitle.Format += handler;
// ...
bndTitle.Format -= handler;
Run Code Online (Sandbox Code Playgroud)