电子灵魂

golang,go,C#,JAVA,PYTHON,PHP

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace C04委托的简单使用
{ 
    public delegate void SayHi();

    class Program
    {
        static void TestDelegate(SayHi s)
        {
            s();
        }


        static void Main(string[] args)
        {
            SayHi s1 = new SayHi(Test);

            TestDelegate(s1);


            //委托是用来保存多个方法的指针的.
            //如果方法的指针要被委托对象保存 那么这个方法的签名要和委托的签名一样.
            //使用+=为委托对象追加方法.
            SayHi s = new SayHi(Test);
            s += Test1;
            s -= Test;
            s();

         
            //SayHi s = new SayHi(Test);
            //s += Test1;
            //s();

            //SayHi s = new SayHi(Test);
            //Test4(s); 

            Console.ReadKey();
        }

        static void Test4(SayHi s)
        {
            s();
        }


        static void Test()
        {
            Console.WriteLine("Test方法.");
        }

        static void Test1()
        {
            Console.WriteLine("我是方法2");
        }

    }
}
posted on 2015-05-20 11:04  conncent  阅读(455)  评论(0编辑  收藏  举报