这个是MSDN上的例子:要将代码块传递为委托参数,创建匿名方法则是唯一的方法。例如:C#
// Create a handler for a click event
button1.Click += delegate(System.Object o, System.EventArgs e)
                   { System.Windows.Forms.MessageBox.Show("Click!"); };上面的没看明白?到底用匿名方法 与命名方法 实现委托有什么区别或限制? 分别有什么好处?

解决方案 »

  1.   

    代码简单,省略了委托类型的定义。从匿名方法到Lambda表达式,.net正在将函数式编程的思想逐步的加入进来。
      

  2.   

    委托:
     我就用白话告诉你吧,就是你做一个事件后,产生一个消息,以后人家可以根据你的这个动作来做一些其他的事情,比如windows 自定义的button_click事件,他本身就是一个事件,因为windows不知道你要在这个button_click里面做什么事,但是他也不能等待你用的时候再帮你写这个事件,所以他留给你一个响应,
    就是当鼠标点击这个按钮的时候通知你下,告诉你:“只要我点这个了,你就做什么·····”我点了就是产生了消息,告诉你:我已经点了,你该做啥就做啥吧委托的作用就是说,我这个功能后会做一些事情,但是我不知道会有什么事情,你可以自己加事情进去。
    比如:你可以张嘴,张嘴过后你该干什么呢?我们不知道,但是我编程的时候也不能不把嘴巴张开这个动作编进去,所以我一定要编辑,但是嘴巴张开后的事我不知道,因为需要具体情况具体确定,有可能吃饭,有可能吃屎。说白了就是在嘴巴张开的时候通知下你,省下你爱吃饭就吃饭,你爱吃屎就吃屎。
    用在的地方一般是硬件编程或协同工作时,比如点击手电筒的开关,设计到硬件编程,所以人家不会叫你写底层的汇编,但是人家又要告诉你我点了这个开关,你只要知道人家点击了开关就OK乐,剩下你该做啥就做啥明白?