您好,我有以下代碼。使用代表時顯示錯誤
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()方法不正確嗎?
爲什麼我應該在這裏使用委託。我可以通過使用類對象來實現此目的。 as myObj.addNumbers(10,20);
那麼代表需要什麼? 請幫幫我。 謝謝大家。
修改showDelegate匹配的addNumbers的參數:'公共委託INT showDelegate(int a,int b);'除了返回類型之外,委託必須匹配參數的數量和類型。 – Jason 2012-03-12 06:48:00
爲什麼不讓這個答案傑森?肯定會爲它投票 - 現在其他答案只會從你的評論中「借用」;) – Carsten 2012-03-12 06:49:59
謝謝傑森先生。發佈它作爲答案.... :) – Searcher 2012-03-12 06:50:10