繁体   English   中英

无过载匹配代表 c#

[英]No overload matches the delegate c#

"GetSum" 的重载与委托Formula<double>匹配

我该如何解决这个错误?

我的代表是:

public delegate T Formula <T>(T arg1); 

格和:

    public delegate T Formula <T>(T arg1);

    class CalculatorClass
    {
        public static double total;
        public Formula<double> formula;
        public static double GetSum(double num1, double num2)
        {
            return total = num1 + num2;
        }
}

我的代码:

      private void btnEqual_Click(object sender, EventArgs e)
            {
                num1 = Convert.ToDouble(txtBoxInput1.Text);
                num2 = Convert.ToDouble(txtBoxInput2.Text);
    
                Formula<double> sum = new Formula<double>(CalculatorClass.GetSum);
    
    
            }

您的代表期望 T GetSum 类型的一个参数显然有 2 个参数。 尝试将您的代表更改为:

public delegate T Formula <T>(T arg1, T arg2);

它会编译。 顺便说一句,您可以使用内置委托Func<in T1,in T2 out TResult>作为Func<double, double, double>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM