我使用的是具有这样一个类都宣称像这样功能的d.ts定义第三方API:是否可以在基类中有函数,但在子类中有lambda函数?
export class Bar {
foo(): void;
}
现在
当我创建一个子类我想用lambda表达式语法的实现
export class Test1 extends Bar {
public foo =(): void => {
//DO Stuff
}
}
这并不编译,因为
“类‘Test1的’定义实例成员财产‘富’,而是扩大 类‘酒吧’代罚款它作为实例成员函数“。
是否需要更改Bar-class的定义才能使用lambda函数?我宁愿不,所以如果有其他解决方案,我会很感激帮助!
更新
好了,我发现了一些。如果我不是extends
使用implements
,我可以在Test1中使用lamdba函数。对我来说,实现一个类听起来很奇怪。 Bar-class看起来像一个接口,可能是因为它的作用?
实现只允许*你*,以确保兼容性类型并不做任何的代码生成(如调用'__extends'功能) – basarat 2014-09-05 15:34:14