编程猫 加入收藏  -  设为首页
您的位置:编程猫 > 知识 > 正文

目录

1,public event EventHandler Click这句话的event的理解,谢谢!c#问题,winform

public event EventHandler Click这句话的event的理解,谢谢!c#问题,winform

event 是一个事件,在C#中事件是基于委托的,没有委托事件无法定义,event也是数据类型,微软的定义:类或对象可以通过事件向其他类或对象通知发生的相关事情。 发送(或引发)事件的类称为“发行者”,接收(或处理)事件的类称为“订户”。
事件具有以下特点:
发行者确定何时引发事件,订户确定执行何种操作来响应该事件。
一个事件可以有多个订户。 一个订户可处理来自多个发行者的多个事件。
没有订户的事件永远也不会引发。
事件通常用于通知用户操作,例如,图形用户界面中的按钮单击或菜单选择操作。
如果一个事件有多个订户,当引发该事件时,会同步调用多个事件处理程序。 要异步调用事件,请参见使用异步方式调用同步方法。
在 .NET Framework 类库中,事件是基于 EventHandler 委托和 EventArgs 基类的。
http://msdn.microsoft.com/zh-cn/library/awbftdfh(v=vs.100)

2,求助C#event,eventhandler,delegate之间的关系

http://www.cnblogs.com/jimmyzhang/archive/2007/09/23/903360.html http://www.cnblogs.com/JimmyZhang/archive/2008/08/22/1274342.html http://www.cnblogs.com/boer/archive/2009/03/04/1403024.html http://www.cnblogs.com/edgar-sun/archive/2007/04/08/704335.html 应该够你理解了~

3,delegate 与 EventHandler 有什么区别 可以详细的说明下么

事件处理程序委托的标准签名定义一个没有返回值的方法,其第一个参数的类型为 Object,它引用引发事件的实例,第二个参数从 EventArgs 类型派生,它保存事件数据。如果事件不生成事件数据,则第二个参数只是 EventArgs 的一个实例。否则,第二个参数为从 EventArgs 派生的自定义类型,提供保存事件数据所需的全部字段或属性。   EventHandler 是一个预定义的委托,专用于表示不生成数据的事件的事件处理程序方法。如果事件生成数据,则必须提供自己的自定义事件数据类型,并且必须要么创建一个委托,其中第二个参数的类型为自定义类型,要么使用泛型 EventHandler 委托类并用自定义类型替代泛型类型参数。   若要将事件与处理事件的方法关联,请向事件添加委托的实例。除非移除了该委托,否则每当发生该事件时就调用事件处理程序。
public delegate void EventHandler(Object sender, EventArgs e);   public event EventHandler NoDataEventHandler;

委托声明定义一种类型,它用一组特定的参数以及返回类型封装方法。对于静态方法,委托对象封装要调用的方法。对于实例方法,委托对象同时封装一个实例和该实例上的一个方法。如果您有一个委托对象和一组适当的参数,则可以用这些参数调用该委托。

4,编程语言一共有多少种?

编程语言的种类繁多,总的来说分为机器语言、汇编语言以及高级语言三大类。 机械语言(machine language):计算机可直接识别、运行的二进制代码,执行速度快,资源占用少,但可读性不强,编程复杂; 汇编语言(assembly language):一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。目标代码简短,占用内存少,执行速度快,但缺乏可移植性,编程复杂; 高级语言(High-level programming language):相对于机器语言以及汇编语言,高级语言的可读性强,可移植性高,一般通过事先编好的一个叫做编译程序的机器语言程序编译成用机器指令表示的目标程序。现在流行的高级语言有Java、C语言、C++、C#、Pascal、Basic等等。