微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

VB.NET RemoveHandler和匿名方法

如何用匿名方法使用RemoveHandler?

这是我如何为MyClass类的MyEvent事件添加一个处理程序

AddHandler MyClass.MyEvent,Sub()
                                ...
                            End Sub

如何使用RemoveHandler来删除MyEvent事件的处理程序

一般来说,如果您需要取消订阅该事件,我建议不要使用这样的lambda,而是使用标准方法.

话虽如此,您仍然可以使用匿名方法,但是您需要存储对它的引用以取消订阅.如果您必须取消订阅匿名方法,则至少应将代理存储在变量中以便稍后将其删除

Dim subscription = Sub()
                            ' ...
                   End Sub

AddHandler MyClass.MyEvent,subscription

' Later   
RemoveHandler MyClass.MyEvent,subscription

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐