我想创建一个完全通用的 TreeView 结构。像这样的事情:
public class TreeView<T, K, L>
{
public T source;
public K parent;
public List<L> children;
}
正如您在此类源代码中所见,父级和子级都具有不同的通用数据类型。我还希望我的 TreeView 具有无限数量的级别(不仅仅是 3 个)。这样当我想在代码中使用我的节点时,它们都将是强类型的。不仅仅是我需要将它们转换为原始类型的对象。
是否可以在 C# 中创建这种结构,一个所有节点都是强类型的 TreeView ?
谢谢
最佳答案
这是树数据结构的大问题。定义同构树很容易,但在现实世界中,树通常由异构对象类型组成。文件系统就是一个很好的例子,其中树包含驱动器、文件夹和文件。
只有在编译时确切知道树的形状,才能创建类型安全的树。当然,这消除了树木在现实世界中的所有用例。
关于c# - 如何创建一个完整的通用 TreeView 类数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2955384/