VB.NET 删除处理程序 &匿名方法
如何将 RemoveHandler
与匿名方法一起使用?
这是我为 MyClass
类的 MyEvent
事件添加处理程序的方法:
AddHandler MyClass.MyEvent, Sub()
'...
End Sub
然后如何使用 RemoveHandler
删除 MyClass
的处理程序>MyEvent 活动?
How do I use RemoveHandler
with anonymous methods?
This is how I add a handler for MyEvent
event of the class MyClass
:
AddHandler MyClass.MyEvent, Sub()
'...
End Sub
How do I then use RemoveHandler
to remove the handler for the MyEvent
event?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一般来说,如果您需要取消订阅事件,我建议不要使用这样的 lambda,而是使用标准方法。
话虽这么说,您仍然可以使用匿名方法,但您需要存储对它的引用以用于取消订阅。如果必须取消订阅匿名方法,至少应该将委托存储在变量中以便稍后将其删除:
In general, if you need to unsubscribe from the event, I would recommend not using a lambda like this, and instead use a standard method.
That being said, you can still use the anonymous method, but you need to store a reference to it for the unsubscription. If you must unsubscribe an anonymous method, at a minimum, you should store the delegate in a variable to remove it later: