こんにちは私は以下のコードを持っています。それは、このエラーを示しているのはなぜデリゲートの使用中にエラーが表示される
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
なぜこれを答えにしないの?Jason?確かにそれに投票するだろう - 今は他のすべての答えはあなたのコメントからちょうど "借り"される;) – Carsten
ジェイソンさんありがとう。答えとして投稿してください:) – Searcher