Skip to content

VirtualDirectoryのGetEnumeratorについて #153

Description

@shimodateakira

現在、VirtualDirectoryのGetEnumeratorはViewのものを返している。

利便性として考えると今はこの仕様でいきたい。
しかし、生のNodesのGetEnumeratorを返していないのでユーザーは注意が必要。

        public IEnumerator<VirtualNode> GetEnumerator() => NodesView.GetEnumerator();

利用法としては、

foreach(var node in dir1)
{
}

みたいに列挙する時、nodeは表示条件(フィルタリング、グルーピング、ソート)に従ったものが列挙されてくる。
場合によって、フィルタリングの指定もある為、生のNodesより少ない数が列挙される。

表示条件はVirtualStorageState.SetNodeListConditionsメソッドで設定する。

で、生のNodesを列挙したい場合は、

foreach(var node in dir1.Nodes)
{
}

のように書かなければならない。

この仕様で本当に良いか再検討する。
この仕様で良ければドキュメントでしっかり書いておきたい。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

documentationImprovements or additions to documentation

Type

No type

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions