【问题标题】:TypeScript variable that holds any instance of generic class保存泛型类的任何实例的 TypeScript 变量
【发布时间】:2019-09-13 14:37:17
【问题描述】:

我有一个代表用户的抽象 TypeScript 类。有多个子类来表示不同的第 3 方服务。该类具有第 3 方服务的通用类型。

我正在尝试创建一个可以容纳任何用户实例的数组,但 TypeScript 抛出错误。

let users: User[] = [
   new TestUser("test-1"),
   new TestUser("test-2"),
   new TestUser("test-3")
]
export abstract class User<T extends ApiService> {
    public id: string;
    public username: string;
}

我收到以下错误:

Generic type 'User<T>' requires 1 type argument(s).ts(2314)

在 Java 中,我可以执行以下操作来允许 User 的任何子类。

User<?>

我将如何在 TypeScript 中执行此操作?

【问题讨论】:

  • let users: User&lt;any&gt;[]

标签: typescript generics


【解决方案1】:

正如阿列克谢所说:

let users: User<any>[]

完美运行!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-11
    • 1970-01-01
    • 1970-01-01
    • 2023-01-22
    • 1970-01-01
    • 2019-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多