我有一个大的四叉树结构,由通用列表(List<T>
)指向更多列表,依此类推。这些列表包含在一个类中:TreeNode<T>
在一个这样的树中,我存储了GameObject
类型的对象。
为了更快地进行树更新,我希望在每个TreeNode
上存储指向包含GameObject
的指针/引用,但是......我遇到了泛型类型导致的问题<T>
的{{1}}。
这是我遇到问题的地方(在TreeNode
类内):
TreeNode
我收到错误:
contents.Add(typedObject);
if (typedObject is GameObject)
{
GameObject gameObject = (GameObject) (object) typedObject;
gameObject.treeNode = this;
}
非常感谢任何帮助或建议。感谢。
编辑 - &gt;
节点存储在Cannot implicitly convert type 'TreeNode<T>' to 'TreeNode<GameObject>'
上,如下所示:
GameObject
答案 0 :(得分:2)
如果您不知道TreeNode<T>
的类型,我建议创建一个非泛型基类。然后你可以简单地将引用存储在GameObject中。
我会避免它,但您可以使用运算符TreeNode<T>
将TreeNode<GameObject>
转换为as
,如下所示:
gameObject.treeNode = this as TreeNode<GameObject>;