さて、ライブラリ内の特定のフォルダ構造を表す自動生成されたxmlファイルがあります。
<Folder>
<Name>One</Name>
<OutlineLevel>0</OutlineLevel>
</Folder>
<Folder>
<Name>Two</Name>
<OutlineLevel>1</OutlineLevel>
</Folder>
<Folder>
<Name>Three</Name>
<OutlineLevel>2</OutlineLevel>
</Folder>
<Folder>
<Name>Four</Name>
<OutlineLevel>3</OutlineLevel>
</Folder>
<Folder>
<Name>Five</Name>
<OutlineLevel>2</OutlineLevel>
</Folder>
<Folder>
<Name>Six</Name>
<OutlineLevel>3</OutlineLevel>
</Folder>
<Folder>
<Name>Seven</Name>
<OutlineLevel>3</OutlineLevel>
</Folder>
<Folder>
<Name>Eight</Name>
<OutlineLevel>1</OutlineLevel>
</Folder>
ただし、次の構造で、より人間にやさしく、扱いにくいように見えるようにする必要があります。
<Folder Name="One">
<Folder Name="Two">
<Folder Name="Three">
<Folder Name="Four"></Folder>
</Folder>
<Folder Name="Five">
<Folder Name="Six"></Folder>
<Folder Name="Seven"></Folder>
</Folder>
</Folder>
<Folder Name="Eight"></Folder>
</Folder>
私はすでにかなり前からそれを見ていて、それをメソッドにラップする方法についてのアイデアが不足しています。任意の提案をいただければ幸いです。
これまでのところ、クラスのオブジェクトに入れることに成功しています。これは次のようになります。
class MyFolder
{
private List<MyFolder> _folders;
public List<MyFolder> Folders
{
get
{ if (_folders == null)
{ _folders = new List<MyFolder>(); }
return _folders; }
set { _folders = value; }
}
public string Name { get; set; }
}
これが私を正直にどこかに導くかどうかはわかりません、私は今、他のMyFoldersなどを持っているMyFoldersを持っているMyFolderを持っています、うまくいけばこれは理にかなっています。