Тип 'T' нельзя использовать в качестве параметра типа 'T' в универсальном типе или методе.

У меня есть следующий метод:

protected T AttachComponent<T>(){
    T gsComponent = gameObject.GetComponent<T>();
    if(gsComponent == null){
        gsComponent = gameObject.AddComponent<T>();
    }
    return gsComponent;
}

НаAddComponent В строке я получаю следующую ошибку:

Тип «T» нельзя использовать в качестве параметра типа «T» в универсальном типе или методе «GameObject.AddComponent ()». Не существует преобразования в бокс или преобразования параметров типа из 'T' в 'UnityEngine.Component'.

Я не уверен, что я могу сделать, чтобы исправить эту ошибку, почему я не могу этого сделать?

Ответы на вопрос(1)

Ваш ответ на вопрос