C#在具有托管资源的继承类中
示例
您可能会创建一个实现的类,IDisposable然后派生也包含托管资源的类,这是很常见的。建议Dispose使用virtual关键字标记该方法,以便客户端能够清除其可能拥有的任何资源。
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();
}
//清理父母的资源
base.Dispose();
}
}