动态代码 - C#

Jos*_*ana 3 c# architecture

我们正在开发一种将为许多客户部署的产品.在本产品的某个领域,我们需要执行一些公式.问题是这个公式对于每个客户端可能是不同的.所以我们需要一个可以"动态执行代码"的良好架构

该应用程序是一个托管在sharepoint 2010上的Web应用程序(因此使用.net 3.5)


一个简化示例:
我的类MyClassA具有两个数字属性PropA和PropB对于一个客户端,公式为PropA + PropB.另一方面是PropA-PropB. 这只是一个简化的例子,因为公式比这更复杂.

我需要有一种方法,客户端A我们可以在XMl文件或数据库中设置PropA + PropB.然后我会动态加载代码?

这有意义吗?有没有人在生产环境中实现类似的场景呢?

我发现以下文章描述了类似的情况,但我不知道它对于生产环境是否100%可靠:http: //west-wind.com/presentations/dynamicCode/DynamicCode.htm

我还发现IronPython也可以解决类似的问题,但我无法理解如何将我的ClassA与IronPython一起使用.

任何帮助都会受到高度赞赏.

更新...感谢大家的详细反馈.这是一项非常有建设性的工作.我已经回顾了不同的方法,我们很可能会继续采用nCalc方法.nCalc似乎是一个很棒的工具,我已经爱上了这个技术:)谢谢大家!

Not*_*tMe 5

看看nCalc.

您可以将计算存储在数据库字段中,然后只需按需执行它们.非常简单而有力.我们在多租户环境中使用它来帮助进行类似类型的自定义.