值参数不能加,引用参数可以。
引用参数是共享的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Delegate
{
public delegate void Myfunction(int valCount,ref int refCount);
class Program
{
static void Main(string[] args)
{
Myfunction mf = (Myfunction)MethodA + (Myfunction)MethodB + (Myfunction)MethodA;
int valCount = 0;
int refCount = 0;
mf(valCount,ref refCount);
//display 0;
Console.WriteLine("valCount: "+valCount);
//display 5;
Console.WriteLine("refCount: "+refCount);
Console.ReadLine();
}
public static void MethodA(int valCount, ref int refCount)
{
++valCount;
++refCount;
}
public static void MethodB(int valCount, ref int refCount)
{
valCount += 3;
refCount += 3;
}
}
}