Get*_*awn 6 c# unity-game-engine
我有以下方法:
protected T AttachComponent<T>(){
T gsComponent = gameObject.GetComponent<T>();
if(gsComponent == null){
gsComponent = gameObject.AddComponent<T>();
}
return gsComponent;
}
Run Code Online (Sandbox Code Playgroud)
在AddComponent
行我收到以下错误:
类型'T'不能用作泛型类型或方法'GameObject.AddComponent()'中的类型参数'T'.从'T'到'UnityEngine.Component'没有装箱转换或类型参数转换.
我不知道我能做些什么来解决这个错误,为什么我不能这样做?
RB.*_*RB. 15
问题是AddObject方法返回一个Component.您需要告诉编译器您的T实际上是一种Component.
附上通用约束你的方法,以确保您的T
s为Component
小号
protected void AttachComponent<T>() where T : Component
{
// Your code.
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8605 次 |
最近记录: |