C# store reference to List<T>
本文关键字:lt gt List store reference to | 更新日期: 2023-09-27 18:22:03
我有一个大型四叉树结构,由指向更多列表的泛型列表(List<T>
)等组成。这些列表包含在一个类中:TreeNode<T>
在一个这样的树中,我存储类型为GameObject
的对象。
为了更快地更新树,我想在每个GameObject
上存储一个指向包含TreeNode
的指针/引用,但是。。。我遇到了由TreeNode
的泛型类型<T>
引起的问题。
这是我的问题所在(在TreeNode
类中):
contents.Add(typedObject);
if (typedObject is GameObject)
{
GameObject gameObject = (GameObject) (object) typedObject;
gameObject.treeNode = this;
}
我得到错误:
Cannot implicitly convert type 'TreeNode<T>' to 'TreeNode<GameObject>'
如有任何帮助或建议,我们将不胜感激。谢谢
编辑-->节点存储在GameObject
上,如下所示:
public TreeNode<GameObject> treeNode;
如果您不知道TreeNode<T>
的类型,我建议创建一个非泛型基类。然后您可以简单地将引用存储在GameObject中。
铸造
我会避免它,但您可以使用运算符as
将TreeNode<T>
强制转换为TreeNode<GameObject>
,如下所示:
gameObject.treeNode = this as TreeNode<GameObject>;