C# 委托delegate的相关知识
2016-08-10 17:25
246 查看
C#中的委托(delegate),类似于C/C++中的函数指针,它允许你传递一个类A的方法m给另一个类B的对象,使得类B的对象能够调用这个方法m,其传递的是一个方法。
委托的好处就是可以动态的改变调的函数。
实现一个delegate是很简单的,通过以下3个步骤即可实现一个delegate:
1. 声明一个delegate对象,它应当与你想要传递的方法具有相同的参数和返回值类型。
2. 创建delegate对象,并"将你想要传递的函数作为参数传入",即委托与方法绑定。
3. 在要实现异步调用的地方,通过上一步创建的对象来调用方法。
例子:
另外,委托可以添加一系列方法,通过 += 或 -= 来添加或删除委托所绑定的方法
一个委托,比方说叫Dele
Dele = a;
Dele += b;
Dele += c;
添加了函数,那么着三个函数会被依次执行
Dele -= b;
相当于从这个列表里把b删除了,只执行a,c
这个委托变量必须先用 = 赋值一次,才可以进行+=赋值,-=可以任意撤销委托
委托在多线程编程,定义事件,事件处理函数中使用.委托可以看作封装以前C++中的函数指针的一些信息,在类型上更安全.它是线程上的调用,可以不理会调用事件是否成功执行.
委托的好处就是可以动态的改变调的函数。
实现一个delegate是很简单的,通过以下3个步骤即可实现一个delegate:
1. 声明一个delegate对象,它应当与你想要传递的方法具有相同的参数和返回值类型。
2. 创建delegate对象,并"将你想要传递的函数作为参数传入",即委托与方法绑定。
3. 在要实现异步调用的地方,通过上一步创建的对象来调用方法。
例子:
另外,委托可以添加一系列方法,通过 += 或 -= 来添加或删除委托所绑定的方法
一个委托,比方说叫Dele
Dele = a;
Dele += b;
Dele += c;
添加了函数,那么着三个函数会被依次执行
Dele -= b;
相当于从这个列表里把b删除了,只执行a,c
这个委托变量必须先用 = 赋值一次,才可以进行+=赋值,-=可以任意撤销委托
相关文章推荐
- C#基础知识六之委托(delegate、Action、Func、predicate)
- [.NET] C# 知识回顾 - 委托 delegate (续)
- 017天(.net学习之路-C#基础知识)-委托(delegate)及多播委托
- C#语法小知识(四)委托delegate
- [C#] C# 知识回顾 - 委托 delegate
- 【C#基础知识】——初识委托(delegate)
- C#中数组的相关知识
- C#:委托(delegate)和事件 (event)
- C# 委托(Delegate)使用
- 用 C++ 实现 C# 中的 委托/事件 (2-delegate event functor)
- C# Delegate(委托)与多线程
- 初涉c#中的委托delegate
- C#编程利器之四:委托与事件(Delegate and event)
- C#中的委托(Delegate)
- C#事件和委托的基础知识模型收藏
- 委托、事件和Lmbdas表达式3----委托相关知识
- C#事件和委托的基础知识模型
- Delegate 委托 C#
- C#中的委托(delegate)用法简介
- C# 委托(delegate)