【发布时间】:2011-03-31 05:48:21
【问题描述】:
我正在编写一个应用程序,它允许用户创建自定义算法来计算对象集合上的值。简而言之,我将使用一种方法获得一个带有类源代码的字符串。
我实现的解决方案是为每个此类自定义算法在单独的 dll 中编译字符串源代码,然后使用 Assembly.Load 加载它们并实例化保存在 dll 中的类。从可维护性的角度来看,这意味着我必须将源代码存储在数据库中(例如)并管理已编译 dll 的存在(如果丢失,则通过重新编译源代码来重新创建)
考虑到 .Net 4.0 的新功能,有没有更好的方法来做到这一点?
编辑: 输入源代码是 C#,我正在使用 CSharpCodeProvider 来编译代码。自定义类都是从基类派生的,它们覆盖了实际保存计算逻辑的方法。我真正想做的是摆脱 dll 管理,并且在每次我的应用程序启动时编译所有类时不会损失(太多)性能
【问题讨论】: