为什么我需要在我的基类中定义Dispose,尽管它是抽象的?

时间:2015-11-15 10:17:51

标签: c# idisposable

我编写的应用程序需要Wireshark文件(Pcap,Snopp,Pcapng ...)打开此文件并阅读所有Packets

所以我创建这个abstract class,每个继承自这个类的类都需要实现明显的方法才能具有打开特定格式的能力:

public abstract class WiresharkFile
{
    protected string _fileName;
    protected int _packets;
    protected string _duration;
    public abstract void ReadFileDetails();
}

所有子类:

public class Libpcap : WiresharkFile, IDisposable, IEnumerable<WiresharkFilePacket>
{
    ....
}

现在循环特定格式并读取数据包时:

using (wiresharkFile = new Libpcap(file))
{

}

我有这个编译错误:

type used in a using statement must be implicitly convertible to 'System.IDisposable'

所以我的问题是为什么我需要在我的基类中实现IDisposable如果我不能从这个类型创建对象以及我应该在我的基类的Dispose内写什么?

0 个答案:

没有答案