【发布时间】:2015-03-27 20:34:06
【问题描述】:
是否有一种简单的方法可以在扩展类时更改方法的返回类型,而不必在每个新定义中显式设置它?我想简化我的定义,看起来像这样......
declare class Foo {
add(): Foo;
}
declare class Bar extends Foo {
add(): Bar;
remove(): Bar;
}
declare class Baz extends Bar {
add(): Baz;
remove(): Baz;
destroy(): Baz;
}
// Usage...
var foo = new Foo().add();
var bar = new Bar().add().remove();
var baz = new Baz().add().remove().destroy();
【问题讨论】:
-
这并不理想,但我就是这样做的:stackoverflow.com/a/23024723/188246 -- 也许有人知道更好的方法?
-
我可以让它适用于
Bar类,但不适用于Baz类。 -
哦,是的,它不适用于超过一层继承:(
标签: typescript definition extends