委托

  1. 什么是委托

          委托是持有一个或多个方法的对象

 1 delegate void Mydel(int value);
 2     class Program
 3     {
 4         void PrintLow(int value)
 5         {
 6             Console.WriteLine("{0}-Low Value", value);
 7         }
 8         void PrintHigh(int value)
 9         {
10             Console.WriteLine("{0}-High Value", value);
11         }
12         void PrintValue(int value)
13         {
14             Console.WriteLine("{0}-my Value", value);
15         }
16         static void Main(string[] args)
17         {
18             Mydel del,del2;
19             Random rand = new Random();
20             Program pr= new Program();
21             int randomValue = rand.Next(99);
22             del = randomValue > 50 ? new Mydel(pr.PrintHigh) : new Mydel(pr.PrintLow);
23             del(randomValue);
24             del2 = pr.PrintValue;
25             del2 = del;
26             del2(randomValue);
27         }
28 }
  1. 代码声明一个委托类型Mydel,Main声明了两个Mydel类型的委托对象的引用del,del2
  2. 如果随机数大于50,创建 Mydel委托对象并初始化,让它持有PrintHigh方法的引用;随机数小于50,创建 Mydel委托对象并初始化,让它持有PrintLow方法的引用。把这个委托对象赋值给del
  3. 把 pr.PrintValue的实例方法赋值给del2
坚持dream
原文地址:https://www.cnblogs.com/yaoyingting2008/p/13087205.html