【发布时间】:2015-04-01 10:29:26
【问题描述】:
在发布问题之前,我想知道是编程错误还是编译器错误。
Typescript 1.4(在 Visual Studio 2013 中运行)抱怨以下小程序:
export class TE {
value : string;
}
export class A<T extends TE> {
}
export class B extends A<TE> {
constructor(public name: string) {
super(); // Error: Type Object does not satisfy the constraint extends TE for type parameter T.
}
}
截图相同:
如果我删除 super() 子句,它会给出:
一个相关的问题是Type T does not satisfy the constraint C for type parameter P error in TypeScript,但它不涉及构造函数。
上面的小sn-p要怎么编译?
【问题讨论】:
-
如果我直接运行编译不会导致问题。但是这个错误一直出现在我的编辑器中,为了可读性和我的合作者,我想摆脱它们。
-
VS2013/TS1.4也没有问题
-
我有VS2013,我意识到安装了TS1.0。我切换到 TS1.4。但是现在不仅问题相同,而且不再有语法高亮。无论如何,感谢您尝试。我很高兴它不会在至少一个地方造成问题。
-
确保你已经在你的路径以及你的机器上更新了 TypeScript。
where tsc例如从命令提示符(开发人员命令提示符)将显示它可能在哪里找到。不幸的是,在早期版本中,我通常会有 3 或 4 个不同的位置。
标签: generics types constructor typescript extends