【发布时间】:2018-10-12 00:54:01
【问题描述】:
我有以下方法:
protected T AttachComponent<T>(){
T gsComponent = gameObject.GetComponent<T>();
if(gsComponent == null){
gsComponent = gameObject.AddComponent<T>();
}
return gsComponent;
}
在AddComponent 行我收到以下错误:
类型“T”不能用作泛型类型或方法“GameObject.AddComponent()”中的类型参数“T”。 没有从“T”到“UnityEngine.Component”的装箱转换或类型参数转换。
我不确定我能做些什么来修复这个错误,为什么我不能这样做?
【问题讨论】:
-
你肯定会在c#中使用扩展。这是一个适合任何阅读stackoverflow.com/a/35629303/294884的初学者的教程,希望对您有所帮助!