我有一些工具正在生成的TypeScript代碼。我想在另一個文件中擴展這個類。從0.9.1.1開始,最好的方法是什麼?在另一個文件中擴展一個類
我想也許我可以將我的附加功能固定在原型上,但是這給出了各種錯誤(根據編譯器的情緒而改變)。
例如:
Foo.ts(由工具生成)
module MyModule {
export class Dog { }
}
Bar.ts
module MyModule {
function bark(): string {return 'woof';}
Dog.prototype.bark = bark;
}
我將你的問題解釋爲你想要的東西類似於C#中的部分類:單個類,但具有跨越多個文件的定義。一些屬性和方法將在一個文件中定義(文件由工具生成),一些屬性和方法將在另一個文件中定義,但它們是_same_類的成員,而不是子類。它是否正確?如果是這樣,我不相信在TypeScript中有什麼辦法可以做到這一點_precisely_(請參閱http://typescript.codeplex.com/workitem/933)。 – Peter
您想要在基類的定義之外動態擴展基類。這似乎違背了TypeScript的精神,這是爲了強化JavaScript的輸入。你想要做的是慣用的JavaScript,但是TypeScript被髮明來避免*。允許類型*變形*有點違背強打字的原則... –
可能的重複[如何將TypeScript類拆分爲多個文件?](http://stackoverflow.com/questions/23876782/how- do-i-split-a-typescript-class-into-multiple-files) – xmojmr