C#中的委托介绍

2019-12-26 11:12:29王旭

            //简化方式
            StringProcess p2 = ToLower;
            p(s);
            p2(s2);
            Console.Read();
        }
        static void ToLower(string s)
        {
            Console.WriteLine(s.ToLower());
        }
    }
}

 

结果:

C#中的委托介绍

 

复制代码
StringProcess p2 = ToLower;

 

这种简化方式,编译器到底为我们做了什么?可以通过反编译工具看一下:
C#中的委托介绍

可以见编译器帮咱们new了一个。

返回类型和签名指定了委托的接受方法的形式:也就是你的委托是什么样式的,指向的方法也要是什么样式的,比如这里返回类型为void 参数是string类型的。

C#中的委托介绍

C#中的委托介绍

匿名方法

使用Delegate的时候很多时候没必要使用一个普通的方法,因为这个方法只有这个Delegate会用,并且只用一次,这时候使用匿名方法最合适。

匿名方法就是没有名字的方法。3就是没有名字的int对象。3+5就是两个匿名int对象的相加,允许匿名对象,就允许匿名方法。