【问题标题】:How to specify generic type as a generic (higher kinded types)如何将泛型类型指定为泛型(更高种类的类型)
【发布时间】:2016-09-02 17:28:44
【问题描述】:

在 Typescript 中,是否可以将泛型类型指定为泛型?具体来说,我希望能够定义如下函数签名:

function events<T>(): T<Event>

但是我从 typescript 编译器收到以下错误:

[ts] Type 'T' is not generic.

【问题讨论】:

    标签: typescript


    【解决方案1】:

    “作为泛型的泛型类型”:如果我理解正确,您想要实现的是使用更高种类的类型

    这在 Typescript 中(还)不可能:see this

    【讨论】:

    • 是的,这正是我要找的。遗憾的是这还不可能。感谢您的链接。
    【解决方案2】:

    改变定义如下:

    function events<T>(): Event<T>
    

    在此处阅读有关语法的更多信息:https://www.typescriptlang.org/docs/handbook/generics.html

    【讨论】:

    • 不,抱歉,我想要的正是我在问题中提出的问题。 T 必须是通用的,例如Stream 或 Observable
    猜你喜欢
    • 1970-01-01
    • 2019-07-21
    • 1970-01-01
    • 1970-01-01
    • 2019-05-30
    • 2019-12-06
    • 1970-01-01
    • 1970-01-01
    • 2011-08-28
    相关资源
    最近更新 更多