event 关键字只是一个说明的作用,可让你的事件在设计环境下的属性框中看到你定义的事件,
如果不写,只是不能在属性中直接设计,要通过代码写了,但是事件还是可以在对象中看到的,
至于你说的在编译器中做了什么,好象没法知道,它都是封装的可能是象vc中一样定义了一个函数指针吧,
如果不写,只是不能在属性中直接设计,要通过代码写了,但是事件还是可以在对象中看到的,
至于你说的在编译器中做了什么,好象没法知道,它都是封装的可能是象vc中一样定义了一个函数指针吧,
解决方案 »
- DataGridView获取值
- 想做一个通用应用程序缓存的方法,但出现是“类型”,但此处被当做“变量”来使用错误,请教大侠们帮帮看看
- C#如何多网卡 Server Listen
- c#递归读取树状表生成json字符串用于extjs树上 ....(如无满意贴就散分)...
- c#里面如何创建工作者线程,请高手帮忙写写代码,小弟菜鸟一只
- 谁能给出我一个Remoting做的聊天室代码?winform的
- 面试一家CMMI5公司终试时候遇到的题目,疑惑
- C#中,如何动态定义数据库连接?
- 关于在c#.NET中新建Excel文件的问题!
- 如何用正则表达式分割字符串。
- 线急等:用正则表达式查找多行字符串中的一段字符?
- 请问如何解决textbox的容量限制?
举例如下:class MyClass
{
public event EventHandler DataArrived;
// 如果事件DataArrived的函数地址表非空,则将this指针和参数e传给DataArrived函数地址表中的函数
private void OnDataArrived(EventArgs e)
{
if(this.DataArrived != null)
{
this.DataArrived(this, e);
}
} public Receive()
{
// 接收数据
// 全部数据到达,激发事件
this.OnDataArrived(EventArgs.Empty);
}
}class MainClass
{
static void Main()
{
MyClass myClass = new MyClass();
// 这一句实际上是将OnDataArrived的函数的首地址添加到DataArrived事件的函数地址表中
myClass.DataArrived += new EventHandler(OnDataArrived);
myClass.Receive();
} static void OnDataArrived(Object sender, EventArgs e)
{
Console.WriteLine("Data Arrived!");
}
}
个人意见,希望大家共同讨论。