我正在开发一个应用程序,你可以在其中创建“程序”,而不需要编写源代码,只需点击&play即可。
现在的问题是,如何从我的数据模型中生成可执行程序。有很多可能性,但我不确定哪种对我来说最好。我需要生成包含类和命名空间等内容的程序集,这些内容可以是应用程序的一部分。
CodeDOM类:我听说过这个类的许多限制和错误。我需要在方法参数和返回值上创建属性。这受支持吗?
以编程方式创建C#源代码,然后调用CompileAssemblyFromFile:这将起作用,因为我可以生成任何我想要的代码,并且C#支持大多数CLR功能。但这会很慢吗?
使用反射ILGenerator类:我认为通过这个我可以生成每一个可能的.NET代码。但我认为这比其他方法更加复杂和容易出错?
还有其他可能的解决方案吗?
编辑: 该工具是用于开发应用程序的通用工具,它没有特定的领域限制。我不知道它是否可以被视为可视化编程语言。用户可以创建类、方法、方法调用和各种表达式。它不会非常限制,因为您应该能够做到在真实编程语言中允许的大多数事情。 目前,许多东西仍然必须由用户作为文本编写,但最终目标是几乎所有内容都可以通过单击组合。