【发布时间】:2017-02-21 13:56:13
【问题描述】:
我可能想多了。基本上,我希望有一个实现一些属性的非泛型接口,然后创建第二种类型,用它自己的泛型属性实现该接口。
interface Car {
model: string;
}
interface Car<T> extends Car {
transmission: T;
}
TypeScript 错误:
“'Car' 的所有声明必须具有相同的类型参数。”
我能找到的唯一方法是将非通用接口命名为不同的名称,例如 CarBase。有什么建议吗?
【问题讨论】:
-
你想做什么?为什么要将它分成两个同名的不同接口?相当于
interface Car<T> { model: string; transmission: T } -
我希望其他代码使用非泛型引用。当我只想使用 Car 时,我正在做 Car
绕过类型检查。 -
为什么它们必须同名?
标签: typescript