Я пишу приложение, которое принимает 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
на моем базовом классе?