gpt4 book ai didi

c# - C#存储对List 的引用

转载 作者:行者123 更新时间:2023-12-02 10:45:41 25 4
gpt4 key购买 nike

我有一个很大的四叉树结构,它由指向更多列表等的通用列表(List<T>)制成。这些列表包含在一个类中:TreeNode<T>
在一棵这样的树中,我存储了GameObject类型的对象。

为了使树更新更快,我想在每个TreeNode上存储一个指向包含GameObject的指针/引用,但是...我遇到了由<T>的通用类型TreeNode引起的问题。

这是我遇到的问题(在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中。
铸件
我会避免这种情况,但是您可以使用运算符TreeNode<T>TreeNode<GameObject>转换为as,如下所示:

gameObject.treeNode = this as TreeNode<GameObject>;

关于c# - C#存储对List <T>的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9098244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com