CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

[*]初学者讨教delegate与event的问题,谢谢大家了

楼主kamimail(接口)2004-08-02 23:45:34 在 .NET技术 / C# 提问

我对于event   和delegate有个疑问,既:在publisher中如果不声名event,完全用delegate(其形式符合sender和eventargs模式)可以实现事件机制么?如果可以那到底event关毽子起到的是什么作用呢?只是语法么?  
           
      public   class   publisher{  
        public     delegate   void   EventHandler(   object   sender   ,   EventArgs   e   )   ;  
   
        private   EventHandler   click;//没有event  
         
          private   void   Notify()  
   
          {  
                  if   (click   !=   null)  
                  {  
                          click(srce,eveAg);  
                  }  
          }  
          ......  
   
           
      }  
  谢谢了! 问题点数:20、回复次数:3Top

1 楼qqchen79(知秋一叶)回复于 2004-08-03 00:25:35 得分 5

没有event用delegate功能上完全相同。  
  event内部使用了一个delegate的变量,并且定义了add/remove两个函数用于添加/删除event   handler,C#编译器使用+=/-=简化event的操作。这和property和Field的关系类似。  
  用ildasm.exe可以看到上面这些信息。Top

2 楼daou101(海天一鸥)回复于 2004-08-03 08:53:57 得分 10

这里有一些代码的例子,让你更明白如何使用委托和事件:  
  http://www.cnblogs.com/yellowwee  
   
  Top

3 楼walkinhill(reaway)回复于 2004-08-03 08:57:19 得分 5

委托和event在功能上基本相同,但是如果不用event关键字声明的话,就不能在属性窗口中看到你声明的事件,因为属性窗口显示的事件只有那些又event关键字声明的委托。Top

相关问题

  • 讨教template与继承的关系
  • 讨教
  • 关于delegate与event
  • 新手讨教
  • 前程讨教....
  • 刚涉世讨教
  • 讨教~~~~~~~~~~~~~托盘区
  • 讨教:BCB5不能 #include <shlobj.h> ???
  • 分级问题,讨教!
  • 菜啊菜,讨教高手.

关键词

  • delegate
  • event
  • 事件
  • 使用
  • 声明
  • click

得分解答快速导航

  • 帖主:kamimail
  • qqchen79
  • daou101
  • walkinhill

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo