TypeScript编译器能够生成POCO .NET类型/程序集吗?

5
我正在使用knockout、MVC和EF进行应用程序开发,我在考虑添加TypeScript是否能帮助我更好地完成这项工作。
我喜欢IDE中编写代码的清晰机制,但缺少的是从其他.NET程序集引用TypeScript中定义的接口的能力。
除了还没有做过之外,我是否正确地认为没有任何阻止这种情况发生的事情?我很好奇是否有需求,或者我是否以一种其他人没有考虑到的方式来看待问题域。
我认为有用的原因是当前我没有办法仅在一个地方定义给定的DTO。我必须在我的C#视图模型和javascript/typescript中分别编写它们,或者使用诸如knockout映射插件之类的东西,这对于我的品味来说太过“神奇”。
注:我不要求将任意typescript转换为.NET。我只想让typescript接口产生可用的.NET POCO类型。
注意2:我刚刚找到了http://typescript.codeplex.com/,它可以实现相反的方向(从.NET到typescript),这实际上可能足以解决我在这个问题中表达的问题。

我不确定这是否是您要找的内容,但是在https://github.com/borisyankov/DefinitelyTyped上有一堆定义文件。 - jbabey
我正在编写一个名为TypeSharp的Visual Studio扩展程序,它可以将C#转换为TypeScript。如果您有兴趣尝试预发布版本,请发送电子邮件至davemckeown@outlook.com - 这将是一个开源工具。 - dmck
谢谢,我已经给你发送了一封电子邮件。 - Aaron Anodide
TypeSharp项目的代码库现在已经公开,地址为http://github.com/davemckeown/TypeSharp。 - dmck
5个回答

3

有一种工具可以将C#类转换为Typescript:http://type.litesolutions.net/

这样,您就可以将您的DTO放在一个地方,即C#中。该工具可在Nuget上获取,并且在BitBucket上是开源的,因此请随意修改(甚至是代码生成)并做出贡献。


1

请查看我的回答:Breeze.js类型化实体

你不能在knockout模板中使用我的解决方案,但它确实有助于TypeScript方面。


0
从1.7版本开始,Bridge支持为C#类型生成TypeScript定义。在本文中,您将学习如何指示Bridge编译器在匹配的.js文件旁边发出.d.ts,并在Visual Studio TypeScript项目中使用它们。

http://bridge.net/docs/generate-typescript-definitions/


0
Typewriter是Visual Studio的一个免费扩展,使用TypeScript模板从c#代码文件生成TypeScript文件。这使您可以创建完全类型化的TypeScript表示形式,包括服务器端API、模型、控制器、SignalR hub等,并在更改c#代码时自动更新。通过这样做,您可以获得TypeScript智能感知和编译时错误,当客户端和服务器端代码不同时,加快开发速度并提高应用程序的质量。

https://frhagn.github.io/Typewriter/


0

我通过将数据序列化为 JSON,然后再反序列化来解决这个问题。根据您的需要,这种方法的简便性是值得的,如果您的文档比较复杂,则这是必要的。


1
你有把这段代码放在某个地方吗?我正在开发一种通用的TypeScript-to-.NET包装器编译器,想了解其他尝试的情况。 - Nick Strupat
抱歉,这是一家公司的闭源代码。 - Nathan Bellowe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接