泛型类作为带有内部类型的参数

苏帕米

我正在使用Cerialize作为Json序列化器/反序列化器。

我的Api连接器以这种方式工作:

ApiService.get<T>(endpoint:string):Promise<T>

来电

ApiConnectorService.get<ApiResponse<T>>(tClazz:{new():T;}, endpoint:string);

要反序列化,Cerialize使用类参数:

function Deserialize(json: any, type?: Function | ISerializable): any;

因此,当我呼叫时ApiService.get<T>(endpoint),我会呼叫ApiConnectorService.get<ApiResponse<T>>(ApiResponse, endpoint)它。

问题

ApiResponse<T>编译器说我无法提供tClazz参数

TS1109:期望表达

有没有一种方法可以为泛型类提供其泛型类型作为参数?这样,当我打电话给get<User>()时,我得到一个ApiResponse<User>类型的用户,此刻我只在ApiResponse中得到一个对象,这不是我们所需要的。

这是ApiResponse类:

export class ApiResponse<T>{

    @deserialize
    data:T;

    @deserializeAs(ErrorData)
    error:ErrorData;

    @deserialize
    meta:Object;
}

编辑:如果我想给一个数组作为类参数相同的错误:

ApiService.get<Foo[]>(Foo[], '/bar');

TS1109:期望表达

斯拉瓦(Slava Shpitalny)

如果您在此处查看已转换的泛型类,则不会:Typescript Playground释放泛型,因此在运行时您没有类型,因此无法获取泛型的类型,这意味着在运行时中您无法知道您的类型是什么T.您必须将类本身作为参数传递。您可以使用泛型获得编译帮助,但这就是您能做到的最好的。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

泛型类作为带有内部类型的参数

来自分类Dev

创建带有参数的泛型类型的实例作为辅助泛型类型

来自分类Dev

泛型对带有instanceOf check的内部类的行为很奇怪

来自分类Dev

如何使用已知类型作为参数创建具有泛型的泛型类?

来自分类Dev

带有泛型类型的函数参数的泛型类方法不适用于Void

来自分类Dev

使用类级别的泛型有界类型参数作为方法的形式参数

来自分类Dev

泛型类作为参数

来自分类Dev

使用内部类作为类型参数

来自分类Dev

C#泛型类作为参数,与泛型类的调用方法具有相同的T

来自分类Dev

C#泛型类作为参数,与泛型类的调用方法具有相同的T

来自分类Dev

如何在C#中对具有抽象内部类型的泛型进行模式匹配?

来自分类Dev

泛型类型参数作为参数

来自分类Dev

具有类参数的泛型类型推断

来自分类Dev

如何引用内部类成员的泛型类型?

来自分类Dev

TypeScript:推断带注释对象内部类型的泛型

来自分类Dev

Java中用于内部类的泛型类型

来自分类Dev

如何在Java中指定泛型类的内部类?

来自分类Dev

泛型和内部类对模型类的继承

来自分类Dev

将类型参数作为类型参数的类传递给Java中的泛型方法

来自分类Dev

将类型参数作为类型参数的类传递给Java中的泛型方法

来自分类Dev

在泛型类型的泛型类上访问类型参数

来自分类Dev

泛型类型作为构造函数参数

来自分类Dev

使泛型类的函数仅接受具有相同泛型类型但受更多约束的参数

来自分类Dev

具有不同类型泛型参数的方法的泛型类

来自分类Dev

使用类对象作为泛型类型

来自分类Dev

使用类实例作为泛型类型

来自分类Dev

内部类/接口中定义的泛型类型是否绑定到外部类的泛型类型定义?

来自分类Dev

使用超类作为泛型子类型中的类型参数

来自分类Dev

在泛型类隐式类型参数

Related 相关文章

  1. 1

    泛型类作为带有内部类型的参数

  2. 2

    创建带有参数的泛型类型的实例作为辅助泛型类型

  3. 3

    泛型对带有instanceOf check的内部类的行为很奇怪

  4. 4

    如何使用已知类型作为参数创建具有泛型的泛型类?

  5. 5

    带有泛型类型的函数参数的泛型类方法不适用于Void

  6. 6

    使用类级别的泛型有界类型参数作为方法的形式参数

  7. 7

    泛型类作为参数

  8. 8

    使用内部类作为类型参数

  9. 9

    C#泛型类作为参数,与泛型类的调用方法具有相同的T

  10. 10

    C#泛型类作为参数,与泛型类的调用方法具有相同的T

  11. 11

    如何在C#中对具有抽象内部类型的泛型进行模式匹配?

  12. 12

    泛型类型参数作为参数

  13. 13

    具有类参数的泛型类型推断

  14. 14

    如何引用内部类成员的泛型类型?

  15. 15

    TypeScript:推断带注释对象内部类型的泛型

  16. 16

    Java中用于内部类的泛型类型

  17. 17

    如何在Java中指定泛型类的内部类?

  18. 18

    泛型和内部类对模型类的继承

  19. 19

    将类型参数作为类型参数的类传递给Java中的泛型方法

  20. 20

    将类型参数作为类型参数的类传递给Java中的泛型方法

  21. 21

    在泛型类型的泛型类上访问类型参数

  22. 22

    泛型类型作为构造函数参数

  23. 23

    使泛型类的函数仅接受具有相同泛型类型但受更多约束的参数

  24. 24

    具有不同类型泛型参数的方法的泛型类

  25. 25

    使用类对象作为泛型类型

  26. 26

    使用类实例作为泛型类型

  27. 27

    内部类/接口中定义的泛型类型是否绑定到外部类的泛型类型定义?

  28. 28

    使用超类作为泛型子类型中的类型参数

  29. 29

    在泛型类隐式类型参数

热门标签

归档