我目前正在开发一个应用程序,您可以使用它创建“程序”而无需编写源代码,只要您愿意,只需单击&播放即可。
现在的问题是如何从我的数据模型生成一个可执行程序。有很多种可能性,但我不确定哪一种最适合我。我需要生成具有类和命名空间以及可以成为应用程序一部分的所有内容的程序集。
编辑:该工具用于开发应用程序,它不限于特定的领域。我不知道它是否可以被认为是一种可视化的编程语言。用户可以创建类、方法、方法调用、各种表达式。它不会很有限,因为您应该能够做大多数在实际编程语言中允许的事情。目前,许多东西仍然必须由用户写成文本,但最终的目标是,几乎所有的东西都可以点击在一起。
发布于 2009-11-17 11:50:02
我发现看看动态语言运行时是值得的,它或多或少是为创建基于.NET的高级语言而设计的。
也许还值得看一下以前的一些域特定语言上的堆栈溢出线程,其中包含了一些用于使用DSL的工具的有用链接,这听起来有点像您正在计划的内容,尽管我仍然不太清楚您的目标到底是什么。
发布于 2009-11-17 11:17:37
大多数“点击和播放”应该足够简单,只需将一些预定义的构建块对象粘在一起(可能在边界上使用接口)。意思:你可能不需要做动态代码生成-只是“假装它”。例如,对值使用属性包对象(如DataTable等,尽管这不是我的第一选择)等等。
动态评估的另一个选项是Expression类;特别是在.NET 4.0中,这是非常通用的,并且允许对委托进行编译。
发布于 2009-11-17 11:23:03
做C#源代码生成,不关心速度,直到它重要。C#编译器非常快速。
https://stackoverflow.com/questions/1748149
复制相似问题