2014-04-01 45 views
2

我需要一個REST服務器(使用C#編寫)將JSON對象傳遞到瀏覽器中運行的我的打字稿客戶機。最好的方法是在C#端定義類,然後創建一個傳遞給客戶端的JSON對象與類結構相匹配的客戶端的JSON對象。在.ts中自動創建的.cs類定義

這導致了一個明顯的問題 - 有沒有辦法在C#中定義類,然後運行一些程序來創建.ts類定義?或者在我寫出.TS和一個程序中的類的相反位置,然後創建匹配的.cs類?

我想避免的是必須確保添加在一邊的任何成員然後在另一邊添加完全相同。

在一個完美的世界裏,爲集體成員寫的評論也被傳遞。

更新:我知道我可以寫這樣的工具。但我希望它已經存在,因爲這是很多工作。

+0

當然,這將有可能這樣做。你可以構建一些簡單的東西,它需要一個編譯類,使用Reflection,並構建相應的打字稿文件,甚至可以根據需要將它連接到構建步驟。 – WiredPrairie

+0

對於REST部分:http://www.asp.net/web-api其餘我建議使用[t4模板](http://msdn.microsoft.com/en-us/library/bb126445.aspx )你可以配置它們在編譯之前運行,並在需要時重新生成文件 – Mgetz

回答

2

Type lite http://type.litesolutions.net/讓你一半。只是數據成員簽名。

正如你所知,json不承載行爲只是數據。所以沒有功能在另一邊不可用。這不是一個「譯員」

而在一個完美的世界裏,寫給班級成員的意見也是貫穿始終。

不這樣做。

+0

是的,我越想越多,我意識到它需要合併到我的.ts類中,以便繼續使用這些函數,但它會結合POCO會員通過這些數據傳輸數據。我猜有一天我們會得到這個,但我明白爲什麼它還沒有到來。謝謝。 –

1

我創建了一個庫,允許您爲c#類創建JS模型(主要用於域類,所以它附帶DataAnnotations-support等內容)。

我增加了對Typescript的支持,以及直接創建文件的小工具。

檢查出來,如果你有時間,我喜歡一些反饋:) https://jsmapper.codeplex.com/

乾杯, 理查德