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(); }
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); }
public static void ManyGuysTalking(string str, sayHelloDelegate pSayHelloDelegate) { pSayHelloDelegate(str); }