El tipo 'T' no se puede usar como parámetro de tipo 'T' en el tipo o método genérico
Tengo el siguiente método:
protected T AttachComponent<T>(){
T gsComponent = gameObject.GetComponent<T>();
if(gsComponent == null){
gsComponent = gameObject.AddComponent<T>();
}
return gsComponent;
}
Sobre elAddComponent
línea obtengo el siguiente error:
El tipo 'T' no se puede usar como parámetro de tipo 'T' en el tipo genérico o método 'GameObject.AddComponent ()'. No hay conversión de boxeo o conversión de parámetros de tipo de 'T' a 'UnityEngine.Component'.
No estoy seguro de qué puedo hacer para corregir este error, ¿por qué no puedo hacer esto?