namespace PacketIO; public class PacketDirectory : IPacketFile { private string fileName; private List files; public PacketDirectory(string fileName, params IPacketFile[] files) { this.fileName = fileName; this.files = new List(); this.files.AddRange(files); } public IEnumerable EnumerableFiles() { return this.files.ToList(); } public string GetFileName() { return this.fileName; } public long GetFileSize() { return 0; } public PacketFileType GetFileType() { return PacketFileType.Directory; } public long AddFile(IPacketFile file) { this.files.Add(file); return this.files.LongCount(); } public bool RemoveFile(IPacketFile file) { return this.files.Remove(file); } public void Dispose() { foreach (IPacketFile file in this.EnumerableFiles()) { file.Dispose(); } } }