C#_delegate

值参数不能加,引用参数可以。

引用参数是共享的


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;
        }
       
    }
}


原文地址:https://www.cnblogs.com/MarchThree/p/3720452.html