Simpson用户在c#中定义函数

时间:2014-12-29 16:34:31

标签: c# .net winforms math symbolic-math

如何在c#中获取用户定义函数.Function以字符串形式从文本框获取并以double方式传递给此函数

Simpson(Func<double, double> f, double a, double b, int pointsNum)

例如Func<double, double> f = x => Math.Cos(x);

我很难对此进行编码。 但我如何从文本框中获取它?

1 个答案:

答案 0 :(得分:1)

根据功能的复杂程度,这可能是一项简单或复杂的任务。如果您允许用户只使用一些简单的运算符(+, - ,/,%)和基本数学函数(定义数量的函数),那么您可以创建一个解析器,解析函数代码,然后执行它。但这将是非常有限的,就像一个简单的计算器。

如果要允许用户执行复杂的操作,则需要使用C#以编程方式编译代码。有一个CSharpCodeProvider课程 - 请看一下。

System.CodeDom命名空间有很好的文档,它定义了可以代表源代码逻辑结构的类型,独立于特定的编程语言。在MSDN和Google中搜索它。你应该谷歌C# dynamic code compile