动态编程和c#相似

时间:2013-12-19 13:03:20

标签: c# dynamic rules

我需要学习某个编程主题,我不知道从哪里开始,希望得到你的帮助。

这是我需要做的,我有一个用户表单(UI),用户输入“规则”的形式: 如果operator(obj1)然后赋值(obj1,string)...

我接受这个规则,并将它们转换为实际代码,我想将该代码放在函数/我的代码中。

例如:

main {

UI...
/* when we reach here, means the user done writing rules */

/*Function that translate the user rules to actual code */
translate();

for {
/* This is where I want to put the code after translation */
}
}

如何在程序开始运行后将代码放入循环(或其他任何重要的地方)?

我当然不会寻找一个真正的答案,更多是为了让你知道我需要什么,所以你可以将我推荐给某个学科进行研究。

1 个答案:

答案 0 :(得分:1)

我认为,您正在创建自定义规则引擎,该引擎能够在运行时验证您的规则。在我的能力范围内,您需要开始阅读c#脚本,代码生成,动态加载或反射等等。

为了开始,以下是我能想到的一些步骤;

  1. 获取规则定义(xml或csv)
  2. 编写一个小帮助程序,它将从定义中读取规则条目并将其转换为 c#源代码。这类似于c#scripting。
  3. 成功完成(2)后,从源代码中创建一个dll
  4. 现在反映/动态地将dll从(3)加载到您想要验证规则的位置。