【问题标题】:TypeScript Generic Method Signature in Interface接口中的 TypeScript 通用方法签名
【发布时间】:2015-09-21 21:12:23
【问题描述】:

我正在尝试使用一些方法定义一个接口,并且我希望其中一种方法是通用的。

它是一个filterUnique 方法,所以它应该能够过滤数字、字符串等列表。

以下内容不适合我:

export interface IGenericServices {
    filterUnique(array: Array<T>): Array<T>;
}

有没有办法让这个编译,或者我在这里的某个地方犯了一个概念错误?

干杯!

【问题讨论】:

    标签: generics typescript


    【解决方案1】:

    T 类型尚未定义。它需要作为类型变量添加到方法中,例如:

    filterUnique<T>(array: Array<T>): Array<T>;
    

    或者添加到界面中如:

    export interface IGenericServices<T> {
        filterUnique(array: Array<T>): Array<T>;
    }
    

    【讨论】:

    • 如果对别人有帮助,你也可以为接口的方法定义一个泛型,而不需要整个接口的泛型:@ 987654324@
    • @williaster 如果您将其作为答案发布,您将获得我的支持,因为当我登陆此页面时,该语法正是我所寻找的。谢谢!小修正,把:改成=&gt;&lt;T&gt;(arg: T) =&gt; T;
    猜你喜欢
    • 2018-11-28
    • 1970-01-01
    • 2017-02-16
    • 2018-05-05
    • 2018-04-01
    • 2022-11-01
    • 1970-01-01
    • 2019-06-23
    • 2018-05-06
    相关资源
    最近更新 更多