2017-04-26 21 views
0

在VS2015中使用TypeScript 2.2我有一個派生類的基類,而派生類又具有派生類。TypeScript Inheritance - 「必須在其基類後聲明類」

編譯時,我收到一個錯誤,「一個類必須在其基類之後聲明」。每個類都在它們自己的文件中,所以看起來它們是按字母順序編譯的,因爲如果我用「aa」重命名基類,所以它首先按字母順序排列,然後解決方案編譯。

我可以(並且原本是)將所有類放在一個文件中,在這種情況下,我可以控制順序,但是我不想將所有派生類放在同一個文件中。

我在這裏做錯了什麼,不應該先編譯最低的依賴關係嗎?

+0

你能告訴我們代碼嗎?還有的tsconfig?你使用的是amd或commonjs模塊? –

回答

1

編譯器不重新排列發射的代碼。這些文件按照在命令行上提供的順序發送,並且通過解析 /// <references>。您可以將派生類定義移動到基礎之後,也可以將/// <reference>標記添加到文件中,派生類指向具有基類的文件以確保正確的排放順序。

+0

太棒了!添加對基類的引用解決了問題 - 謝謝 –