是否有可能使用.NET(C#)编写在运行时生成类,方法,成员的代码?
有关详细信息,请考虑以下情形:
创建动态工作流程,使用户能够创建自己的流程,活动,编写动态SQL SP,......,并将所有这些内容收集在一起,然后生成 a 类,成员变量,成员功能,用户界面,条件,...动态运行 !换句话说,你自己的 动态代码工厂框架 !
答案 0 :(得分:5)
是的,有各种各样的选择:
System.CodeDom
命名空间)System.Reflection.Emit
命名空间Microsoft.CSharp.CSharpCodeProvider
答案 1 :(得分:1)
快速回答:是的!
有关如何实现这一目标的详细信息,您可以通过查看Reflection
开始学习。
下一步是寻找互联网上的其他资源,并快速搜索这个问题在SO:
How to create a method at runtime using Reflection.emit
Dynamic Language Runtime也值得一看。
答案 2 :(得分:1)
简短回答是肯定的。您必须查看和研究以下技术:
如果无论如何有用可以讨论:能够以特定模式“动态”编程工作流的人可能更愿意亲自编写代码。
答案 3 :(得分:1)
在这种情况下使用强类型的另一种方法,您也可以考虑使用
Dynamic对象允许功能齐全的动态行为。
可能比运行时生成的强类型更适合 this case。