我正在編寫的應用程序需要Wireshark
文件(Pcap,Snopp,Pcapng ...)打開此文件並閱讀所有Packets
。爲什麼我需要在我的基類中定義Dispose,儘管它的抽象?
所以我創建這個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
在我的基類裏面?