有没有办法通过一个命令清除所有WithEvents字段?

时间:2010-10-15 01:15:25

标签: vb.net events idisposable

vb.net“WithEvents”语法非常有用,但如果没有引用长寿命对象的WithEvents字段,则通常会构成内存泄漏。

Dispose例程有没有简单的方法让vb.net自动清除所有WithEvents字段并取消订阅?

我找到了一种很好的方法来包装一次性字段的创建,以便在放置包含对象时它们将自动处理,而不必单独列出这些对象。有没有办法处理WithEvents字段而不必在Dispose例程中手动将它们清空?

修改的 由于没有响应表明没有反射的内置方法,是否有任何内置的方法使用反射来确定特定属性是否是WithEvents“字段”的VB自动实现?我知道名为“foo”的WithEvents“字段”被实现为名为“foo”的属性和名为“_foo”的字段,但这是一种我不会指望的常见命名模式。是否有一些属性可用于确定哪些属性需要自动清空?

1 个答案:

答案 0 :(得分:1)

这可能有点反射魔法。但是没有语言内在的方式来查询用WithEvents

标记的字段