天天看点

C# 委托的定义、实例化、调用

using System;
using System.Collections.Generic;
using System.Text;

namespace interfaceDemo
{

    //委托的定义
    // [访问修饰符]  delegate  数据类型  委托名(参数列表....)



    //1、定义委托 
    //2.委托的实例化
    //3.委托的调用,实际上是将委托指向已经实现的某个方法

    //注意:调用的方法必须返回类型和定义的委托返回类型一致
   
    public delegate int MathOp(int i,int j);//定义委托
    class DelegateTest
    {
        public static int  add(int i, int j) {//方法
            return i + j;
        }
        public static int Mutiply(int num1, int num2) {//方法

            return num1 * num2;
        
        }


        static void Main(string[] args)
        {
            MathOp mo = new MathOp(add);//委托的实例化,指向add方法
            MathOp maOp = new MathOp(Mutiply);//委托的实例化,指向Mutiply方法

            Console.WriteLine(mo(10, 20));//委托的调用
            Console.WriteLine(maOp(4, 5));//委托的调用

            Console.ReadLine();
        }
    }

 
}