通过传递参数来计算c#函数
我的功能是这样的:
Result<double> Evaluate(string var, Result<double> height, Result<double> perm)
Var可以是用户想要输入的任何内容。 例如,如果用户输入深度, 那么计算将类似于高度*烫发并返回var。 如果用户输入SC,则计算为高度/烫发,结果存储在var中并返回结果
我尝试过这样的事情:
List<double> calvar = new List<double>
Switch(var){
Case “depth”:
calvar = height * perm
return calvar
}
我看到一个错误,说*不能用于类型
的运算符答案 0 :(得分:0)
您收到此错误,是因为您试图乘以Result类型的对象,而不是双精度值本身。 如果要将*运算符用于Result类型的对象,则必须在类中重载*运算符。
public class Result<T>
{
public T Value { get; set; }
public static Result<T> operator * (Result<T> a, Result<T> b)
{
// Multiply Logic
}
}