c# - 如何创建一个完整的通用 TreeView 类数据结构

标签 c# generics treeview strong-typing

我想创建一个完全通用的 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/

相关文章:

c# - 绘制 "floor"纹理

c# - 使用不同的模式反序列化 JSON

c# - 当我启动项目时,图像未加载

treeview - Gtk.TreeView 无法添加自定义渲染器,断言 'gtk_cell_area_has_renderer (area, renderer)' 失败

c# - 整数通过 TempData @ C# ASP.NET MVC3 EntityFramework

java - 这个菱形符号的解释?

java - 如何声明 Java 对象列表,其中每个对象都实现 Comparable

android - 以编程方式向多人发送短信时出现一般错误

Python:如何让 Gtk.scrolledwindow 滚动到 Gtk.Treeview 中的选择

c# - WPF TreeView XAML HierarchicalDataTamplate