通过传递参数的C#函数

时间:2019-07-10 17:06:10

标签: c# .net

通过传递参数来计算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
}

我看到一个错误,说*不能用于类型

的运算符

1 个答案:

答案 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
  }
}