如何在c#中获取用户定义函数.Function以字符串形式从文本框获取并以double方式传递给此函数
Simpson(Func<double, double> f, double a, double b, int pointsNum)
例如Func<double, double> f = x => Math.Cos(x);
答案 0 :(得分:1)
根据功能的复杂程度,这可能是一项简单或复杂的任务。如果您允许用户只使用一些简单的运算符(+, - ,/,%)和基本数学函数(定义数量的函数),那么您可以创建一个解析器,解析函数代码,然后执行它。但这将是非常有限的,就像一个简单的计算器。
如果要允许用户执行复杂的操作,则需要使用C#以编程方式编译代码。有一个CSharpCodeProvider
课程 - 请看一下。
System.CodeDom
命名空间有很好的文档,它定义了可以代表源代码逻辑结构的类型,独立于特定的编程语言。在MSDN和Google中搜索它。你应该谷歌C# dynamic code compile
。