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