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

时间:2017-08-26 10:43:38

标签: c# generics tree

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

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

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

谢谢,Pom

1 个答案:

答案 0 :(得分:1)

你可以创建一个对象树(我知道你不想要它,但是看不到其他选项),你可以设置一个类型。

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

希望它有所帮助。