我有一个提供一些活动的课程.该类在全局声明但未在该全局声明上实例化 - 它根据需要在需要它的方法中实例化.
每次在方法中需要该类时,都会对其进行实例化并注册事件处理程序.是否有必要在方法超出范围之前显式删除事件处理程序?
当方法超出范围时,类的实例也是如此.是否在超出范围的情况下向该实例注册的事件处理程序是否存在内存占用意义?(我想知道事件处理程序是否使GC看不到类实例不再被引用.)
假设我派生了一个WPF控件,例如TextBox,我重写其中一个On-方法,例如OnInitialized
假设我这样做了: this.Initialized += delegate { };
如果包含此控件的窗口关闭 - 如果没有其他操作,这会导致内存泄漏吗?
如果这确实导致内存泄漏,那么实现Finalizer是否是一个足够的,最小的补救措施?