c# 高级编程 委托、lambda表达式和事件 教学(1)
来源:互联网 发布:淘宝卖家拉黑买家 编辑:程序博客网 时间:2024/05/20 20:44
什么是委托?
委托是寻址方法的.NET版本。C++中,函数指针只不过是指向内存位置的指针,它不是安全的。
而.NET中,委托是类型安全的类,他定义了返回类型和参数的类型。委托类不仅包含对方法的引用,也可以包含对多个方法的引用。
委托包含的只是一个或多个方法的地址。
Lambda表达式与委托直接相关。当参数是委托类型时,就可以使用Lambda表达式实现委托引用的方法。
什么时候用委托?
当要把方法传递给其他方法时,需要使用委托。
怎么使用委托?
C#使用类时,要先告诉编译器该类由什么字段和方法构成,然后实例化一个类的对象。
委托同样要经过这两个步骤,首先定义要使用的委托,对于委托,定义它就是告诉编译器这种类型的委托表示哪种类型的方法。然后必须创建该委托的一个或多个实例。
委托的返回值就是所代表方法的返回值,委托的参数就是代表方法的参数类型。如下:
delegate void InMethodInvoker(int x);
这表示指定该委托的每个实例都可以包含一个方法,这个方法带有一个int参数,其返回值是void(即不需要返回值)。
理解委托的一个要点就是他们的类型安全性非常高。在定义委托时,必须给出他所表示的方法的签名和返回类型等安全细节。
如何定义委托?
其语法与方法类似,但是没有方法体,定义前面加上delegate关键字。
定义委托基本上是定义一个新类,所以可以在任何可定义类的地方定义委托,可以在类的内部或外部定义,也可以在名称空间中把委托定义为顶层对象。
委托的访问修饰符为:public、private、protected等。
委托如果不带括号,就是委托表示的方法。
委托如果带括号,就表示调用这个委托表示的方法。
- c# 高级编程 委托、lambda表达式和事件 教学(1)
- C#高级编程之委托、lambda表达式和事件
- C#高级学习第二章委托,Lambda表达式和事件
- 《C#高级编程》【第八章】委托、lambda表达式和事件 -- 学习笔记
- pp看书笔记---C#高级编程第九版 第八章 【委托、Lambda表达式和事件】
- [连载]C#程序设计(15)--- 委托、事件和Lambda表达式
- 一个例子帮你搞懂C#语言高级特性系列(02) --- 委托、事件和Lambda表达式
- c# 委托、事件、lambda表达式
- C#委托/Lambda表达式/事件
- C#编程入门_委托、事件、Lambda表达式_20
- C#编程入门20_委托、事件、Lambda表达式
- 学习笔记--委托,Lambda表达式和事件(1)
- 委托、Lambda表达式和事件
- 委托,Lambda表达式和事件
- 委托、Lambda表达式和事件
- 委托,lambda表达式和事件
- 委托、Lambda表达式和事件
- 读书笔记c#高级编程 委托和事件
- Spring Security教程(12)---- 使用数据库来管理方法
- 稀疏表示介绍(中)
- 黑马程序员-C语言基础学习(三)
- dm_cache中缓存查询与替换策略分析
- 马航空难2大可能结果
- c# 高级编程 委托、lambda表达式和事件 教学(1)
- jqgrid的函数与操作
- 如何成为软件架构师
- spring+hibernate 查询2个参数如何传递值
- 结构体字节对齐问题
- QT 命令行编译工程
- 平台服务将成为通往云计算成功的重要道路
- 编程学习
- 第二周作业(2014.3.13)