我想添加2個更多的功能給我的委託,但它似乎不處理我添加的功能。按照計劃產出5.我期待10.爲什麼會出現這種情況?爲什麼輸出是5?
using System;
namespace abc
{
public delegate int Del(int k);
class Class1
{
public int Add2(int value)
{
return value = value + 2;
}
public int Add3(int value)
{
return value = value + 3;
}
}
class Program
{
static void Main(string[] args)
{
Class1 c = new Class1();
Del mydel = c.Add2;
mydel += c.Add3;
mydel += c.Add2;
Console.WriteLine(mydel(3));
Console.ReadLine();
}
}
}
'mydel(3)'實際上並沒有改變參數的值,所以你得到最後一個函數的結果是'Add2(3)'這是3 + 2,所以5 – Rafalon