Привет, я пытаюсь создать структуру каталогов, используя составной шаблон. У меня есть интерфейс IAsset, который реализован классом файлов и папок. Так что оба являются Активом. Теперь я хочу просмотреть все файлы во всех папках, но получаю сообщение об ошибке:
Program.IAsset нельзя перечислить
Это сообщение об ошибке находится во внутреннем цикле foreach метода getassetSize().
открытый класс Program { открытый интерфейс IAsset { double GetAssetSize(); недействительным AddAsset (IAsset a); }
public class File : IAsset
{
public double Size { get; set; }
public double GetAssetSize()
{
return Size;
}
public void AddAsset(IAsset a)
{
Console.WriteLine("No asset can be added to a file");
}
}
public class Folder : IAsset
{
public double Size { get { return _size; } set { _size = value; } }
private double _size = 0;
public List<IAsset> list = new List<IAsset>();
public double GetAssetSize()
{
foreach (var asset in list)
{
foreach (var x in asset)
{
// _size = x.GetAssetSize();
}
}
return _size;
}
public void AddAsset(IAsset a)
{
list.Add(a);
}
}