Existe-t-il un moyen simple de modifier le type de retour d'une méthode lors de l'extension d'une classe sans avoir à la définir explicitement dans chaque nouvelle définition? Je voudrais simplifier mes définitions qui ressemblent à ceci ...Méthode de chaînage lors de l'extension de classes TypeScript
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();
Ce n'est pas idéal, mais cela est la façon dont je le fais: http://stackoverflow.com/a/23024723/188246 - Peut-être qu'il ya une meilleure façon que quelqu'un sait bien? –
Je pourrais le faire fonctionner pour la classe 'Bar', mais pas pour la classe' Baz'. –
oh ouais, ça ne marche pas pour plus d'une couche d'héritage :( –