C#委托-使用匿名方法

使用C#委托还有另一种重要方法--通过匿名方法。其中,匿名方法是用作委托参数的一个代码块。请看下面的例子:

匿名方法的作用是使代码更简化,方便了程序员。如果没有匿名方法,则定义一套事件监听需要这样:

 

class Program
{
    public delegate void SomeDelegate(); // 定义委托
   
    static void Main()
     {
         SomeType obj = new SomeType();
         obj.SomeEvent += new SomeDelegate(MyEventHandler);
     }
    // 一般来说,定义的MyEventHandler方法只用来响应事件,只在上面那一处地方使用
    public static void MyEventHandler() // 定义委托所调用的方法
     {}
}

上面的代码比较啰嗦,尤其是为委托和它所调用的方法起名字比较费劲我觉得。有了匿名方法以后,仅需要这样:

class Program
{
    static void Main()
     {
         SomeType obj = new SomeType();
         obj.SomeEvent += delegate{
            // 实现事件处理逻辑
         }; // 注意要有分号
     }   
}

与上一段代码相比,省去了SomeDelegate和MyEventHandler的定义。

posted on 2012-06-28 07:25  流星落  阅读(195)  评论(0编辑  收藏  举报

导航