我试图定义一个带有几个方法的接口,我希望其中一种方法是通用的。
它是一个 filterUnique
方法,因此它应该能够过滤数字、字符串等列表。
以下代码对我来说无法编译:
export interface IGenericServices {
filterUnique(array: Array<T>): Array<T>;
}
有没有办法使这个编译通过,或者我在这里犯了什么概念错误?
干杯!
我试图定义一个带有几个方法的接口,我希望其中一种方法是通用的。
它是一个 filterUnique
方法,因此它应该能够过滤数字、字符串等列表。
以下代码对我来说无法编译:
export interface IGenericServices {
filterUnique(array: Array<T>): Array<T>;
}
有没有办法使这个编译通过,或者我在这里犯了什么概念错误?
干杯!
T
类型尚未定义。需要将其作为类型变量添加到方法中,例如:
filterUnique<T>(array: Array<T>): Array<T>;
或者添加到界面中,如下:
export interface IGenericServices<T> {
filterUnique(array: Array<T>): Array<T>;
}
interface MyInterface { method: <T>(arg: T): T; }
- williaster