代码检查:无法解析组件或可脚本化对象
若干 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日