委託只能在靜態方法上調用。我跑下面的代碼和錯誤作爲方法名稱預計在行可以委託調用實例方法嗎?
NuOp nuopAdd = new 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