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;
    } 

}

ここでの問題は、既存の e) オブジェクトからオブジェクトを作成するときにこれList<Directory> SubDirectoryを変換する方法です??List<DirectoryExt> SubDirectoryDirectoryExt(derived)Directory(bas

誰でも解決策を提案できますか?

4

2 に答える 2

2

オブジェクトへの LINQ を使用します。

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

this.SubDirectory = 新しい 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 に答える