Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 有没有办法通过一个命令清除所有WithEvents字段?_Vb.net_Events_Idisposable - Fatal编程技术网

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

Vb.net 有没有办法通过一个命令清除所有WithEvents字段?,vb.net,events,idisposable,Vb.net,Events,Idisposable,vb.net“WithEvents”语法非常有用,但如果引用长期对象的WithEvents字段未被置空,则通常会造成内存泄漏 对于Dispose例程,有没有简单的方法让vb.net自动清除所有WithEvents字段并取消订阅 我已经想出了一个很好的方法来包装一次性字段的创建,这样当包含对象被释放时,它们将被自动释放,而不必单独列出这样的对象。是否有任何方法可以处理WithEvents字段,而不必在Dispose例程中手动将其清空 编辑 由于没有响应指示在没有反射的情况下执行此操作的内置方法,是

vb.net“WithEvents”语法非常有用,但如果引用长期对象的WithEvents字段未被置空,则通常会造成内存泄漏

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

我已经想出了一个很好的方法来包装一次性字段的创建,这样当包含对象被释放时,它们将被自动释放,而不必单独列出这样的对象。是否有任何方法可以处理WithEvents字段,而不必在Dispose例程中手动将其清空

编辑
由于没有响应指示在没有反射的情况下执行此操作的内置方法,是否有任何内置方法使用反射来确定特定属性是否是WithEvents“字段”的VB自动实现?我知道一个名为“foo”的WithEvents“field”被实现为一个名为“foo”的属性和一个名为“\u foo”的字段,但这是一种常见的命名模式,我不会指望它。是否有一些属性可用于确定哪些属性需要自动置零?

这可能需要一些反射魔法。但是没有语言固有的方式来查询带有
WithEvents

标记的字段,这可能需要一些反射魔法。但是,没有语言固有的方式来查询带有
WithEvents

Bummer标记的字段。有没有办法让一种方法既能参与活动订阅,又能在取消订阅时保留引用?对于IDisPoables,我有一个通用的RAII函数,它向列表中添加一个一次性文件并返回它。当一个对象被释放时,它所注册的所有IDisposalble都将被释放。有没有可能对事件订阅进行类似的操作?糟糕透了。有没有办法让一种方法既能参与活动订阅,又能在取消订阅时保留引用?对于IDisPoables,我有一个通用的RAII函数,它向列表中添加一个一次性文件并返回它。当一个对象被释放时,它所注册的所有IDisposalble都将被释放。是否有可能对事件订阅进行类似操作?