1

我有一个具有以下参数的基类(目录):

string Name;
string Path;
List<Directory> SubDirectory;

现在我想创建一个新类,该类将使用新属性扩展该类:

Bool Valid ;

所以我为派生类(DirectoryExt)编写了以下代码:

Public class DirectoryExt : Directory

{
    Public bool Valid {get; set;}

    public DirectoryExt( Directory directory)

    {
       this.Name = directory.Name;
       this.Path = directory.Path;
       this.SubDirectory = directory.Subdirectory;
       this.Valid = false;
    } 

}

这里的问题是如何将其转换List<Directory> SubDirectoryList<DirectoryExt> SubDirectory当我DirectoryExt(derived)从现有的Directory(base) 对象创建对象时?

任何人都可以提出解决方案吗?

4

2 回答 2

2

使用 LINQ 到对象:

this.SubDirectory = directory.SubDirectory.Select(s => new DirectoryExt(s)).ToList();
于 2013-03-26T09:30:42.803 回答
0

this.SubDirectory = new ObservableCollection<目录>();

        if (directory.SubDirectory != null || directory.SubDirectory.Count != 0)
        {
            foreach (var item in directory.SubDirectory.Select(s => new DirectoryExt(s)).ToList())
            {
                this.SubDirectory.Add(item);
            }
        }

这是它的正确解决方案......我已经测试过它并且它有效。

于 2013-03-28T06:40:26.023 回答