delegate

public class Test
    {
       
//定义委托
        public delegate void D_Math(int a, int b);
       
public void Add(int a, int b)
        {
            Console.WriteLine(
"Add方法结果:{0}", a + b);
        }
       
public void Cut(int a, int b)
        {
            Console.WriteLine(
"Cut方法结果:{0}", a - b);
        }
    }
    [TestClass]
   
public class UnitTest1
    {
        [TestMethod]
       
public void TestMethod1()
        {
            Test t
= new Test();
            Test.D_Math D
= new Test.D_Math(t.Add);//委托实例化,也可Test.D_Math D =t.Add;
            D += t.Cut;//委托可以以队列方式执行多个方法,以+=运算符或者-=来增加或者取消队列中的方法
            D(5, 6);

        }
    }

原文地址:https://www.cnblogs.com/luyujie/p/3143326.html