我想创建一个完全通用的树视图结构.这样的事情:
public class TreeView<T,K,L>
{
public T source;
public K parent;
public List<L> children;
}
正如您在此类源中看到的那样,父级和子级,都具有不同的通用数据类型.我也希望我的树视图有无限数量的级别(不只是3).这样,当我想在代码中使用我的节点时,所有这些都将被强类型化.不仅仅是我需要将它们转换为原始类型的对象.
是否有可能在c#中创建这种结构,这是一个树形视图,其所有节点都是强类型的?
谢谢
这是树数据结构的一个大问题.定义同构树很容易,但在现实世界中,树通常由异构对象类型组成.一个很好的例子是
文件系统,其中树包含驱动器,
文件夹和
文件.
如果在编译时确切知道树的形状,则只能创建类型安全树.当然,这消除了树木的每个真实世界用例.