`
wsql
  • 浏览: 11714378 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

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的定义。

分享到:
评论

相关推荐

    C#委托及匿名方法详解

    C#委托之个人理解,并附有实例,使你看了以后受益匪浅!!!

    C#委托详解:匿名委托,委托的应用(含源代码)

    C#委托详解:匿名委托,委托的应用 含源代码

    C#使用委托(delegate)实现在两个form之间传递数据的方法

    关于Delegate【代理、委托】是C#中一个非常重要的概念,向前可以推演到C++的指针,向后可以延续到匿名方法、lambda表达式。 现在我就从一个最简单最实用的一个小例子出发分析一下Delegate的使用。 现在有两个窗体...

    C#委托的使用方法(Demo)

    1.委托的基本用法 2.多重委托 3.匿名方法 4.Lambda表达式(一个或多个参数) 在VS2008下测试。

    C#中委托、匿名方法、莱姆达表达式

    匿名方法就是对委托的简化,所以匿名方法只限于委托(个人理解)。 然而莱姆达表达式又是对匿名函数的简化。

    C#委托与匿名委托详解

    主要为大家详细介绍了C#委托与匿名委托的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    c#基础知识---委托,匿名函数,lambda

    主要介绍了c# 委托,匿名函数,lambda的相关知识,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下

    C#多线程|匿名委托传参数

    我们一直在做网站,但在我河南这块,对测试工作,特别是压力测试一般都不怎么在意,都是自己访问一下速度不错就行了,再就是数据速度测试也是同样情况 程序员在写Sql代码时,一般是一个人写完之后,一运行可快完事 ...

    匿名方法、委托和Lambda表达式区分演示

    C# 在 2.0 之前的 C# 版本中,声明委托的唯一方法是使用命名方法。2.0 引入了匿名方法,而在 C# 3.0 及更高版本中,Lambda 表达式取代了匿名方法,作为编写内联代码的首选方式。为了区分它们3个咱们创建个演示程序。

    C# 匿名方法基础回顾

    目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 — ...匿名方法,它不是一个事先定义的方法,而是使用一个委托的代码块,在使用时,和普通方法并没有什么区别

    C#用匿名方法定义委托的实现方法

    本文实例讲述了C#用匿名方法定义委托的实现方法。分享给大家供大家参考。具体实现方法如下: //用匿名方法定义委托 class Program { delegate string MyDelagate(string val); static void Main(string[] args) ...

    匿名委托及Stopwatch

    一个用到匿名委托的几种方法及Stopwatch计算时间间隔的例子

    .Net C#委托 delegate

    本ppt结合场景和实例对C#委托(delegate)的基础进行了讲解:包括了委托的定义,基本语法,同步异步调用,匿名委托的使用,泛型委托,lamda表达式,剖析了委托协变、委托逆变。对委托在.net 3.5框架中的身影进行了分析...

    c#中的委托与事件

    委托是一个类,是定义了方法的类型,使的可以将方法当做另一个方法的参数来传递, ... * 匿名方法:如果一个方法只会在初始化委托时使用一次,以后就不用了,就没必要创建 * 独立的方法,没有方法名的方法

    委托匿名方法LAMDA表达式

    这是委托 匿名方法 lamda表达式的例子

    C#匿名委托和Java匿名局部内部类使用方法示例

    Java在嵌套类型这里提供的特性比较多,假设:Java的字节码只支持静态嵌套类,内部类、局部内部类和匿名局部内部类都是编译器提供的语法糖,这个假设目前没法验证(看不懂字节码),本文先来看一下C#是如何为我们提供...

    C#初级中级学习代码 每个知识点都可以正常使用 C#详细源码

    资源内容:01委托的基本认识,02委托的基本应用,03委托的基本应用练习与总结,04_02自己写泛型委托,04_03Action泛型委托,04泛型委托,05泛型委托Func,06多播委托,07匿名方法,08Lambda表达式简介之输入参数,09匿名方法、...

    CH09-C#中的委托、事件和Lamdba表达式.md

    1. 为什么要使用委托? 2. 委托概述 3. C#中如何定义和使用委托 4. C#中的多播委托 5. C#中的匿名委托 6. 泛型委托 7. C#中的事件 8. Lamdba表达式

    c#创建线程匿名泛型委托的实例.zip

    创建委托,线程委托,匿名委托,泛型委托的好例子

Global site tag (gtag.js) - Google Analytics