我正在编写一些支持Winforms应用程序的支持代码,但是我不想让代码依赖Winforms代码,因此我可以轻松地将代码移动到其他地方,例如WPF。
我遇到的问题是我的操作之一我返回了一些基于树的信息,在这种特定情况下,它将从带有子文件夹的Directory.EnumerateFiles()
过滤结果集。
我知道我目前的情况我可以将字符串路径传递给UI层并让UI构建它,但如果我没有那种已经可用的格式,那么处理这个的正确方法是什么?我是否应该将自己的自定义树样式类传递给UI层,或者.NET框架中是否存在一些基于树的信息的通用表示与System.Windows.*
命名空间中的某些内容无关?
答案 0 :(得分:2)
不,框架中没有预先存在的东西。我通常做这样的事情:
public class Node<T>
{
public T Value { get; set; }
public List<Node<T>> Children { get; set; }
}
在您的特定示例中,T
将是Directory
个对象。您始终可以将另一个列表属性添加到包含特定节点文件的Node<T>
,或者只是将目录对象存储在Value
中并枚举它以获取文件。