嗨我想創建一個使用複合模式的目錄結構。我有一個由文件和文件夾類實現的IAsset接口。所以兩者都是資產。現在我想遍歷所有文件夾中的所有文件,但我收到錯誤消息:C#複合模式:Program.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);
}
}
非常感謝你 – armulator