.C#中的委托是什么?事件是不是一种委托?
来源:互联网 发布:淘宝网面膜 编辑:程序博客网 时间:2024/05/22 10:30
这个是n多面试笔试里面爱出的一道题,老生常谈。。。我讨厌复制粘贴,直接告诉你我的理解,希望对你有帮助---委托是一种在对象里保存方法引用的类型,同时也是一种类型安全的函数指针。给你举个例子://声明一个委托,这里的NewDelegate()可以理解为是之后用来取方法的一个类型。delegatevoid NewDelegate();//下面定义的a,b两种方法,你可以理解为NewDelegate这个类型的两个实例。public void a(){};public void b(){};public void main(){NewDelegate dgt1=new NewDelegate(a);NewDelegate dgt2=new NewDelegate(b);//dgt1指向方法a,dgt2指向方法b。也就是说一个方法的返回值和参数类型数量与声明的委托//相符时,就可以用一个委托来调用这个方法。而这个方法的名称作为参数传递给实例化的那个委托}事件是一种特殊的委托,为什么这么说呢?用反编译工具反编译.net framework即可发现,事件的定义(这里只是举其中一种事件的定义,事件的参数在类库中定义有区别),如下:public delegatevoid EventHandler(object sender, EventArgs e);而常见的各种控件的Click事件是如何定义的呢?public event EventHandler Click;说明 Click事件是一个委托而我们常见的一个Button控件添加一个事件是怎么做的呢?PageLoad里:Button1.Click+=new EventHandler(Button1_Click);定义Button1的事件 protected Button1_Click(object sender,EventArgs e){}如你所见,这是一个很典型的委托调用。
--转载
0 0
- C#中的委托是什么?事件是不是一种委托?
- C#中的委托是什么?事件是不是一种委托?
- C#中的委托是什么?事件是不是一种委托?
- .C#中的委托是什么?事件是不是一种委托?
- .C#中的委托是什么?事件是不是一种委托?
- c#委托是什么?事件是不是一种委托?
- c#中接口和类的有什么异同,c#中的委托是什么?事件是不是一种委托?事件和委托的关系
- C#中的委托,事件
- C#中的委托、事件
- c#中的委托和事件(委托)
- 【委托】C#中的委托和事件
- C#中的组件-事件-委托
- C#中的组件-事件-委托
- C#中的委托与事件
- C#中的委托和事件
- C# 中的委托和事件
- C# 中的委托和事件
- C# 中的委托和事件
- 从linux启动到rootfs的挂载分析
- WebView Attack In Android : 解析第三方账号登录平台所存在的安全隐患
- 详解IOS开发之将XML转换成树 下篇
- 纯led驱动-arm平台
- linux内核版本命名规则
- .C#中的委托是什么?事件是不是一种委托?
- C语言各种编译器的清屏方法
- 从文件 I/O 看 Linux 的虚拟文件系统
- js获取innerHTML中input值
- 解析 Linux 中的 VFS 文件系统机制
- 转载的《深入理解View》
- linux c语言获取时间
- maven ArtifactTransferException: Failure to transfer
- : syntax error near unexpected token `done'