我正在开发一个 TypeScript 代码生成器,它将使用 C# 类上的自定义属性来生成 TypeScript 定义和代码文件。
我正在考虑两种用于 TypeScript 代码生成/源文件分析的选项:
- 对编译程序集的思考
- 罗斯林 CTP
该工具将使用属性和方法的自定义特性来生成 TypeScript 文件。现在我不打算将 C# 方法体转换为 JavaScript,但将来可能会这样做。因此,出于这个原因,我正在认真考虑 Roslyn。然而,为了简单地生成我的 TypeScript 类的大纲,我认为我可以使用反射和自定义属性。
我在想:
a) Roslyn 是否提供反射无法提供的功能?我的理解是我无法通过反射获得方法体。
b) Roslyn CTP 许可证是否会阻止我根据开源许可证分发该工具?这我不清楚after reading the license
最佳答案
我只是按照这些思路做了一些事情 - 非常适合从您的 C# 类在 Typescript 中创建数据模型。我构建它是为了生成一个单一的 AMD 模块,该模块具有一个模仿模型基本数据的接口(interface)。还支持泛型,并创建一个具有 Knockout 属性的类,包括一个 toJS() 方法和一个 update(data:Interface) 方法来更新您的类。
整个事情只是一个 T4 模板。如果有人发现并感兴趣:http://spabuilder.wordpress.com/2014/07/31/generating-typescript-from-c/
如果您使用数据注释,还支持数据模型的 [KeyAttribute] 和 [Timespan] 属性。
关于c# - Roslyn vs Reflection for TypeScript 代码生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13316810/