C# 委托
来源:互联网 发布:软件架构有哪些 编辑:程序博客网 时间:2024/05/01 17:17
什么是委托?
委托和事件这两个概念是完全配合的。委托仅仅是函数指针,那就是说,它能够引用函数,通过传递地址的机制完成。委托是一个类,当你对它实例化时,要提供一个引用函数,将其作为它构造函数的参数。
每一个委托都有自己的签名,例如:Delegate int SomeDelegate(string s, bool b);是一个委托申明,在这里,提及的签名,就是说SomeDelegate 这个委托 有 string 和 bool 类型的形参,返回一个int 类型。
上面提及的:当你对委托实例化时,要提供一个引用函数,将其作为它构造函数的参数。这里要注意了:被引用的这个函数必须和委托有相同的签名。
看下面的函数:
private int SomeFunction(string str, bool bln){...}
你可以把这个函数传给SomeDelegate的构造函数,因为他们有相似的签名(in other words,他们都有相同的形参类型和个数,并且返回相同的数据类型)。
SomeDelegate sd = new SomeDelegate(SomeFunction);
sd 引用了 SomeFunction,也就是说,SomeFunction已被sd所登记注册,如果你调用 sd,SomeFunction 这个函数也会被调用,记住:我所说 SomeFunction的含义,后面,我们会用到它。
- C#委托-委托概述
- C#委托
- C#委托
- C#委托
- c#委托
- C# 委托
- C#委托
- C# 委托
- c#委托
- C#委托
- c#委托
- C#委托
- C# - 委托
- C#委托
- C#委托
- C#委托
- C# 委托
- c#委托
- 6个你必须用到AJAX的地方与6个不必用到的地方
- 学自动化测试
- 读书笔记 - C++ GUI Qt4 编程(第二版)- Qt 父子对象机制的内存管理
- A short introduction to Web Services
- eslipse使用技巧
- C# 委托
- [转] 解析oracle的ROWNUM
- java内存泄漏笔记
- 生成认证全过程
- 解决hibernate 删除异常: deleted object would be re-saved by cascade (remove deleted object from associations)
- Visual C++ WinCE设备编译器支持的内在函数和宏
- ArcEngine连接数据库ORACLE
- thinkpad禁用启动选项参考
- Tomcat中的ssl加密配置