예제 #1
0
        static void Main(string[] args)
        {
            Delegate_demo    d  = new Delegate_demo();
            addDelegate      ad = new addDelegate(d.AddNums);
            sayHelloDelegate sd = new sayHelloDelegate(SayHello);

            ad(14, 15);
            string s1 = sd("ank");

            Console.WriteLine(s1);
            ad.Invoke(2, 3);
            s1 = sd.Invoke("dsdf");
            d.AddNums(100, 50);
            Console.WriteLine(s1);
            Console.WriteLine(SayHello("Ankur"));
            Console.ReadLine();
        }
예제 #2
0
        public static void function()
        {
            //写法1
            sayHelloDelegate s1 = new sayHelloDelegate(SayInChinese);
            sayHelloDelegate s2 = new sayHelloDelegate(SayInEnglish);

            ManyGuysTalking("我系T哥", s1);
            ManyGuysTalking("i m Tgor", s2);

            //写法2
            ManyGuysTalking("我系T哥", SayInChinese);
            ManyGuysTalking("i m Tgor", SayInEnglish);

            //写法3——一个委托可以放多个事件,并且可以同时执行
            //此处输出:中文:我系T哥    英文:我系T哥
            sayHelloDelegate s3 = new sayHelloDelegate(SayInChinese);

            s3 += SayInEnglish;
            ManyGuysTalking("我系T哥", s3);
        }
예제 #3
0
 public static void ManyGuysTalking(string str, sayHelloDelegate pSayHelloDelegate)
 {
     pSayHelloDelegate(str);
 }