类型“ T”不能用作通用类型或方法中的类型参数“ T”

从我的草坪上离开

我有以下方法:

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”的装箱转换或类型参数转换。

我不确定该如何解决此错误,为什么我不能这样做?

RB。

问题是AddObject方法返回一个Component您需要告诉编译器您的T实际上是Component的一种。

将通用约束附加到您的方法,以确保Ts为Components

protected void AttachComponent<T>() where T : Component
{
    // Your code.
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

该类型不能用作通用类型或方法'BaseController <T>'中的类型参数'T'。没有隐式引用

来自分类Dev

该类型不能用作通用类型或方法中的类型“ T”。没有从到的隐式引用转换

来自分类Dev

类型不能在通用类型或方法中用作类型参数“ T”-为什么?

来自分类Dev

类型''不能在通用类型或方法''中用作类型参数'T'。没有从“到”的隐式引用转换

来自分类Dev

通用方法-类型不能用作类型参数

来自分类Dev

Ninject ASP.NET标识在通用类型或方法中,类型“ .....”不能用作类型参数“ TImplementation”

来自分类Dev

存储库不能用作方法的通用类型中的类型参数

来自分类Dev

存储库不能用作方法的通用类型中的类型参数

来自分类Dev

类型“ MyObject”必须是不可为空的值类型,以便在通用类型或方法“ Nullable <T>”中将其用作参数“ T”

来自分类Dev

错误:“该类型不能用作方法的通用类型中的类型参数。” 可以通过约束或强制转换来解决吗?

来自分类Dev

“类型T必须是引用类型才能用作参数”是什么意思?

来自分类Dev

类型'string'不能用于索引类型'T'.ts(2536)

来自分类Dev

使用make函数检测类型模型数据时,“不能将T用作化类型参数”

来自分类Dev

获取通用T的类型

来自分类Dev

通用类型<T>参数的函数名前

来自分类Dev

通用类::类型参数<T>属性继承

来自分类Dev

通用类型 'ElementRef<T, any>' 需要 2 个类型参数

来自分类Dev

T必须是具有公共无参数构造函数的非抽象类型,才能在通用类型或方法中将其用作参数“ TModel”

来自分类Dev

字符串不能用于索引类型“ T”

来自分类Dev

类型参数T隐藏了类型T

来自分类Dev

获取通用类型<T,S>的实际类型

来自分类Dev

为什么此方法不能从签名中的Predicate <T>参数推断其参数类型?

来自分类Dev

为什么此方法不能从签名中的Predicate <T>参数推断其参数类型?

来自分类Dev

类型'undefined'不能用作索引类型

来自分类Dev

类型“{}”不能用作索引类型

来自分类Dev

类型“X”不能用作索引类型

来自分类Dev

调用T为类型的通用方法

来自分类Dev

在Typescript中,“通用类型'Feature <T>'需要1个类型参数”是什么意思?

来自分类Dev

Java中T(通用类型)的实例

Related 相关文章

  1. 1

    该类型不能用作通用类型或方法'BaseController <T>'中的类型参数'T'。没有隐式引用

  2. 2

    该类型不能用作通用类型或方法中的类型“ T”。没有从到的隐式引用转换

  3. 3

    类型不能在通用类型或方法中用作类型参数“ T”-为什么?

  4. 4

    类型''不能在通用类型或方法''中用作类型参数'T'。没有从“到”的隐式引用转换

  5. 5

    通用方法-类型不能用作类型参数

  6. 6

    Ninject ASP.NET标识在通用类型或方法中,类型“ .....”不能用作类型参数“ TImplementation”

  7. 7

    存储库不能用作方法的通用类型中的类型参数

  8. 8

    存储库不能用作方法的通用类型中的类型参数

  9. 9

    类型“ MyObject”必须是不可为空的值类型,以便在通用类型或方法“ Nullable <T>”中将其用作参数“ T”

  10. 10

    错误:“该类型不能用作方法的通用类型中的类型参数。” 可以通过约束或强制转换来解决吗?

  11. 11

    “类型T必须是引用类型才能用作参数”是什么意思?

  12. 12

    类型'string'不能用于索引类型'T'.ts(2536)

  13. 13

    使用make函数检测类型模型数据时,“不能将T用作化类型参数”

  14. 14

    获取通用T的类型

  15. 15

    通用类型<T>参数的函数名前

  16. 16

    通用类::类型参数<T>属性继承

  17. 17

    通用类型 'ElementRef<T, any>' 需要 2 个类型参数

  18. 18

    T必须是具有公共无参数构造函数的非抽象类型,才能在通用类型或方法中将其用作参数“ TModel”

  19. 19

    字符串不能用于索引类型“ T”

  20. 20

    类型参数T隐藏了类型T

  21. 21

    获取通用类型<T,S>的实际类型

  22. 22

    为什么此方法不能从签名中的Predicate <T>参数推断其参数类型?

  23. 23

    为什么此方法不能从签名中的Predicate <T>参数推断其参数类型?

  24. 24

    类型'undefined'不能用作索引类型

  25. 25

    类型“{}”不能用作索引类型

  26. 26

    类型“X”不能用作索引类型

  27. 27

    调用T为类型的通用方法

  28. 28

    在Typescript中,“通用类型'Feature <T>'需要1个类型参数”是什么意思?

  29. 29

    Java中T(通用类型)的实例

热门标签

归档