代码检查:无法解析组件或可脚本化对象
若干 Unity 方法接受字符串字面量参数,该参数表示需要添加、检索或创建的类型名称。 例如, GameObject.AddComponent("TypeName")、 GameObject.GetComponent("TypeName") 或 ScriptableObject.CreateInstance("TypeName")。
此检查会标记提供的字符串字面量无法解析为项目或已引用的 Unity 库中的任何已知 Unity 组件、MonoBehaviour 或 ScriptableObject 类型的情况。
该检查还会确保解析出的类型对于特定操作是有效的。 例如,在使用 AddComponent("TypeName") 时,该类型不仅必须存在,还必须继承自 MonoBehaviour。
public class MyScript : MonoBehaviour {
void Start() {
// "UnknownType" does not exist
gameObject.AddComponent("UnknownType");
}
}
public class MyScript : MonoBehaviour {
void Start() {
// Use an existing and valid type name
gameObject.AddComponent("MyOtherMonoBehaviour");
}
}
2026年 5月 8日