開いている汎用階層を持つオブジェクトの階層を平坦化したい。階層内の選択されたノードを再帰とジェネリックで削除する
このリンクRecursive List Flattening
は、渡されたのIEnumerableを取っていることを行う方法を示しています。しかし、私は渡されたオブジェクトTを平らにしたいと思います。
その子は一般的で再帰的なやり方です。
U1.Children(U2,U3,U4)
U2.Children(U9,U10)
U3.Children(U11,U12)
U4.Children(U20,U30)
私は方法U1
(選択されたノード)に渡すと、私はこのフラットなリストを取得したい:
U1,U2,U3,U4,U9,U10,U11,U12,U20,U30
は、一般的な方法で何とか可能ということですか?
nah ...入力はIEnumerableではなく、Childrenプロパティを持つTである必要があります。私のサンプルを見てください。 –
Pascal