2013-05-20 86 views
39

我有一個C#庫(程序集),其中包含一組DTO,我用它來填充我的挖空模型(typescript)。DTO到TypeScript生成器

我想確保JSON數據和ViewModel之間的映射是正確的。

有沒有一種工具可以從我的c#類生成打字稿類?像T4或類似的東西(或只是一個命令行工具,作爲POST生成事件運行)?

(千萬注意,打字稿文件必須放置在另一個項目比DTO組裝)

+0

會這樣做的工作 - 你可以指定一個自定義生成這將從命令行運行 - http://www.c-sharpcorner.com/UploadFile/SamTomato/visual-studio-2010-typescript-build-tool/ –

+0

@RachelGallen:不,它將打字稿轉換爲javascript。我想c#打字稿。 – jgauffin

+0

不,它沒有c sharp作爲一個選項,它確實按照你想要的方式。再看一次 –

回答

37

燁看看這個優秀的項目TypeLITE:http://type.litesolutions.net/

+0

TypeLITE [不支持.NET Core](https://bitbucket.org/LukasKabrt/typelite/issues/123/not-working-with-core-10) –

+0

問題已關閉,所以我正在寫我的在這裏回答。嘗試[TypeWriter](https://github.com/frhagn/Typewriter),這是一個Visual Studio擴展,它使用TypeScript模板從C#代碼生成TypeScript文件。查看[示例](http://frhagn.github.io/Typewriter/pages/examples.html)以訪問Angular中的Web API控制器。 –

+0

我已經在[nuget.org](https://www.nuget.org/packages/TypeScriptModelsGenerator)上發佈了一個包裝,它可以通過反射來實現。您可以使用類型名稱或名稱空間的正則表達式來對模型進行範圍。它是一個.Net標準2.0類庫。 – Gyocol

6

有一個叫TypeScriptD新庫,這將創造.d.ts爲您的.NET類文件。

這可以作爲命令運行,適用於.NET或winmd。

+0

但它不能通過nuget安裝。 –

3

我有類似的需求,但發現現有的項目太過於限制這種或那種方式(越野車,沒有泛型,沒有方法等),所以我最終滾動自己的(http://cjlpowers.github.io/TypeScripter/)。就我而言,我正在處理服務器上的ServiceContract/DataContract類型,並需要.d.ts文件來幫助客戶端開發。如果你需要調整它,解決方案是可擴展的。

+0

@gotqn它*確實*提供了一個精確和簡潔的問題答案,儘管可能被認爲只是鏈接。請在審覈隊列中注意。 –

7

查看開源項目NSwag:使用GUI,您可以從現有程序集中選擇一個.NET類,併爲其生成TypeScript接口。

screenshot

還有對Web API控制器的客戶端代碼T4模板的命令行工具和支持,以及代...