デリゲートは静的メソッドでのみ呼び出すことができます。私は、コードの下に走ったとメソッド名が期待通りのラインは、インスタンスメソッドで呼び出されるデリゲートはできますか?
NuOp nuopAdd =新しいNuOp(x.Addition(324324、4324324))でエラーが発生しました。
NuOp nuopMultiply = new NuOp(x.Multiplication(4324,24234));
namespace DelegateEtAl
{
public delegate double NuOp(double a, double b);
class Program
{
static void Main(string[] args)
{
Mop x = new Mop();
NuOp nuopAdd = new NuOp (x.Addition(324324, 4324324));
NuOp nuopMultiply = new NuOp(x.Multiplication(4324, 24234));
Console.Out.WriteLine(nuopAdd);
Console.Out.WriteLine(nuopMultiply);
}
}
public class Mop
{
public double Addition(double opA, double opB)
{
return opA + opB;
}
public double Multiplication(double opA, double opB)
{
return opA + opB;
}
}
}
私は静的メソッドのみを扱った見つかったすべての例をGoogleで検索する場合。しかし、静的メソッドの場合
https://msdn.microsoft.com/en-us/library/aa288459(v=vs.71).aspx
リンク状態の下に、デリゲートオブジェクトは、 と呼ばれるメソッドをカプセル化します。たとえば、メソッドの場合、デリゲートオブジェクトは インスタンスとそのインスタンスのメソッドの両方をカプセル化します。
ありがとうございます。
あなたの問題は、デリゲートをインスタンス化して**同時にパラメータを渡そうとしていることです – MickyD