您好我正在尝试使用复合模式创建目录结构。我有一个由文件和文件夹类实现的接口 IAsset。所以两者都是资产。现在我想遍历所有文件夹中的所有文件,但我收到错误消息:
Program.IAsset 不可枚举
此错误消息位于 getassetSize() 方法的内部 foreach 循环中。
公共类程序 { 公共接口 IAsset { 双 GetAssetSize(); void 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);
}
}