C#委托

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Delegate
{
    //1.定义委托
    public delegate int MyDelegate(int i, int j);
    public class Program
    {
        //2.申明委托
        //3.实例化委托
        public static MyDelegate sumDelegate = new MyDelegate(Sum);
        public static MyDelegate subDelegate = new MyDelegate(Sub);

        static void Main(string[] args)
        {
            //4.把委托对象作为参数
            MyFun(sumDelegate);
            MyFun(subDelegate);
            //5.使用委托(直接)
            int q = sumDelegate(5, 4);

            Console.ReadKey();
        }


        /****************************写入委托的方法***************************************/
        public static int Sum(int m, int n)
        {
            return m + n;
        }
        public static int Sub(int m, int n)
        {
            return m - n;
        }
        /****************************调用的方法**********************************************/
        public static void MyFun(MyDelegate de)
        {
            //5.使用委托(通过方法)
            int sb = de(3, 2);
            string str = "输出的结果是:";
            Console.WriteLine(str + sb.ToString());
        }
    }
}

  

posted @ 2014-10-20 21:41  talentzemin  阅读(197)  评论(0编辑  收藏  举报