在具有託管資源的繼承類中
你可以建立一個實現 IDisposable
的類,然後派生也包含託管資源的類,這是很常見的。建議使用 virtual
關鍵字標記 Dispose
方法,以便客戶能夠清除他們可能擁有的任何資源。
public class Parent : IDisposable
{
private ManagedResource parentManagedResource = new ManagedResource();
public virtual void Dispose()
{
if (parentManagedResource != null)
{
parentManagedResource.Dispose();
}
}
}
public class Child : Parent
{
private ManagedResource childManagedResource = new ManagedResource();
public override void Dispose()
{
if (childManagedResource != null)
{
childManagedResource.Dispose();
}
//clean up the parent's resources
base.Dispose();
}
}