gpt4 book ai didi

c# - 构造函数为 Avatar 类返回 null

转载 作者:太空宇宙 更新时间:2023-11-03 10:34:00 27 4
gpt4 key购买 nike

我认为 C# 中的类构造函数不应返回 null。但是 Unity3D 中 Avatar 类的构造函数返回 null。您不必使用 Unity3D 来产生想法。当它不在语言的定义中时,我问它怎么可能。就算有可能是Unity引擎的bug,这样的bug有可能吗?

如果您使用 Unity,您可以使用以下代码进行测试:

 [ExecuteInEditMode]
public class Test : MonoBehaviour {
void Update(){
Avatar avatar = new Avatar();
if(avatar == null) Debug.Log("Constructor really returns null.");
}
}

需要注意的几点:- Avatar类继承自UnityEngine.Object- 其他继承自UnityEngine.Object的类没有这个问题- Unity 使用自定义版本的 Mono 框架。

最佳答案

问题是,== 运算符重载了,可能会检查与实际对象不同的东西。对于任何继承自 UnityEngine.Object 的类,您不应通过 new 实例化该类。您必须使用 UnityEngine.Object.CreateInstance

关于c# - 构造函数为 Avatar 类返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28605788/

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