具有多种有效负载类型的 C# 泛型树



有没有办法完成一个通用的树数据结构,其中每个层次结构级别的节点可以容纳不同的(和类型化的(有效负载对象?

我希望能够使用键查询树并返回键入的结果,而不是对象。我已经尝试过使用通用接口,但似乎我仍然需要为每个有效负载类型编写单独的查询例程。泛型解决方案会更优雅,尽管仅从一种泛型方法进行强制转换是有问题的。也许没有办法?

此外,CodePlex 或 GitHub 中的所有实现似乎只允许一种有效负载类型,然后在整个树中的所有节点中使用。我希望在每个层次结构级别都有单独的有效负载对象。

谢谢,庞姆

您可以创建一个对象树(我知道您不想要它,但没有其他选择(,并且您的查询方法可以设置类型。

例如,tree.Query<T>()并返回 T 元素的列表。

希望对您有所帮助。

最新更新