使用代理时显示错误

本文关键字:显示 错误 代理 | 更新日期: 2023-09-27 18:27:23

你好,我有以下代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace myConsole
{
    public delegate int showDelegate();
   public class addmultipleClass
    {
        public  int addNumbers(int a, int b)
        {
            return (a + b);
        }
        public int multiplyNumbers(int a, int b)
        {
            return (a * b);
        }
    }
    class Delegate
    {      
        static void Main(string[] args)
        {
            addmultipleClass myObj = new addmultipleClass();
           showDelegate add = new showDelegate(myObj.addNumbers);
        }
    }
}

它显示的错误类似于No overload for 'addNumbers' matches delegate 'myConsole.showDelegate'

为什么显示此错误。我的代码出了什么问题。引用addNumbers()方法不是正确的方法吗。

我为什么要使用这里的代理。我可以通过使用类对象来实现这一点。作为myObj.addNumbers(10,20);那么,授权的必要性是什么呢?请帮帮我。谢谢大家。

使用代理时显示错误

修改showDelegate以匹配addNumbers:的参数

public delegate int showDelegate(int a, int b);

除了返回类型之外,代理还必须匹配参数的数量和类型。

你问题的第二部分主要是问:"为什么代表?"。对于这个答案,我建议你先看看其他Stack Overflow帖子,以获得更详细、更准确的答案:

代表们,为什么?当&为什么要使用代理人?委托的目的