我有一个类:
public abstract class BaseComponent { ... }
在该类的构造函数中,我们订阅一个事件处理程序,例如:
protected ObjectWithEventHandler eventObject { get; private set; }
public BaseComponent (ObjectWithEventHandler obj)
{
eventObject = obj;
eventObject.ChangedEvent += new EventHandler(eventObject_OnChangedEvent );
}
protected void eventObject_OnChangedEvent (object sender, EventArgs e) { ... }
当涉及 EventHandler 的订阅和取消订阅时,是否有任何硬性规定?
提供一些清理代码来取消从 EventHandler 订阅的函数是否被视为良好的实践?例如,实现 IDisposable 并从 EventHandler 取消订阅?
或者我是在过度担心?