如果我有这样的功能
double GetExpression(int x, int y, int z)
{
return x * y + z;
}
是否有可能以某种方式修改它,不立即返回结果,只返回一些表达式对象,然后以这种方式评估它:
var expression = GetExpression(1,2,3);
double result = expression.Execute() or expression.Evaluate()
换句话说就是返回函数 ?
最佳答案
是的!
Func<double> GetExpression(int x, int y, int z)
{
return () => x * y + z;
}
用作:
var expression = GetExpression(1,2,3);
double result = expression();
关于c# - 返回表达式而不是结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29954261/