Der Typ 'T' kann im generischen Typ oder in der generischen Methode nicht als Typparameter 'T' verwendet werden.

Ich habe die folgende Methode:

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

Auf derAddComponent line Ich erhalte die folgende Fehlermeldung:

Der Typ 'T' kann nicht als Typparameter 'T' im generischen Typ oder in der generischen Methode 'GameObject.AddComponent ()' verwendet werden. Es findet keine Boxing-Konvertierung oder Typparameter-Konvertierung von 'T' nach 'UnityEngine.Component' statt.

Ich bin nicht sicher, was ich tun kann, um diesen Fehler zu beheben. Warum kann ich das nicht tun?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage