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"); } } }