使用代理时显示错误
本文关键字:显示 错误 代理 | 更新日期: 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帖子,以获得更详细、更准确的答案:
代表们,为什么?当&为什么要使用代理人?委托的目的