1

我目前将传感器数据转储到数据库中。这是原始数据,需要对其应用一个等式才能使其对最终用户有意义。我遇到的问题是我还不知道大多数公式,并且还希望程序足够灵活,以便在系统中添加新传感器时,用户可以输入校准方程将能够将原始数据转换为有用的东西。

我从来没有让用户输入方程式来操作数据。我将不胜感激任何可能有帮助的意见。我应该看什么方向,我应该尝试 lambda 表达式树,评估方程并使用 CodeDom 编译它,还是看另一个方向? 我从来没有对 lambda 表达式树或 CodeDom 做过很多事情,并且像往常一样并且在相当紧凑的时间安排上,所以学习曲线确实很重要。我将有机会在以后返回并使其变得更好,他们现在只需要启动并运行它。

感谢您的任何意见。

4

2 回答 2

1

我认为你需要看看什么对你有用。我也想到了这两个才发现你提到了他们。我认为另一种选择是允许存储几个主要公式的参数(即三次、二次、指数、对数……),并选择一个作为要使用的参数。

我个人会使用表达式树,因为它是最干净的。CodeDom 的一个问题是编译代码导致的内存泄漏,特别是如果用户更改代码并多次构建公式。一种解决方案是将编译后的代码加载到单独的 AppDomain 中,然后卸载整个 appdomain。

于 2010-10-04T21:00:46.130 回答
1

我强烈推荐FLEE用于表达式解析/评估。它有一个定制的 IL 编译器,可以生成没有 CodeDOM 的内存问题的快速 IL。

它还具有易于编码和扩展的理想属性。

于 2010-10-04T21:04:52.570 回答