Delegate和event public delegate void PortDataReceivedEventHandle(object sender, PortDataReciveEventArgs e);public event PortDataReceivedEventHandle Received;MSDN查了关于delegate、event不是很理解,给介绍下,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://blog.csdn.net/Sandy945/archive/2009/07/31/4397142.aspxpublic delegate void EventHandler(object sender, EventArgs e); public event EventHandler eh; LinkButton lbtn = new LinkButton(); lbtn.ID = this.controlID; if (eh != null) { lbtn.Click += new System.EventHandler(eh); } 委托哇 这个怎么讲呢 你看看空间的事件 比如button的click 多看看就知道了 Delegate 委托 :它是C#语言里面的函数指针,代表可以指向某一个函数,在运行的时候调用这个函数的实现 http://blog.csdn.net/kingmax54212008/archive/2008/01/03/2021565.aspxhttp://xfmail10002.blog.163.com/blog/static/28292168201032101745838/ 1.类型安全的指向函数的指针,是方法的抽象,new一个委托,可以把这个委托变量指向某一个方法,可以在类之间传递这个委托,调用其指向的方法.2.委托哈有就是异步的天性,所有的委托都有BeginInvoke这个方法,运行时新起一个线程,执行其指向的方法.事件本质是一个委托的实例化的形式,没有什么本质的区别. 今天回复了一个。你看能否有点帮助http://topic.csdn.net/u/20100713/15/83c2f86c-6e81-40f4-90c5-2e67ba623af8.htmlstatic void Main(string[] args){ MyTestClass obj = new MyTestClass(); obj.JobAdded += new MyTestClass.MyEventHandler(obj_JobAdded);//注册,调用add obj.RaiseEvent();//调用方法触发事件 //反射remove移除事件 typeof(MyTestClass).GetEvent("JobAdded").GetRemoveMethod().Invoke(obj, new object[] { new MyTestClass.MyEventHandler(obj_JobAdded) }); obj.RaiseEvent();//调用方法触发事件 Console.ReadKey();}static void obj_JobAdded(){ Console.WriteLine("raise event");}public class MyTestClass{ public delegate void MyEventHandler(); private MyEventHandler JobAddedEvent; public event MyEventHandler JobAdded { add { JobAddedEvent = (MyEventHandler)System.Delegate.Combine(JobAddedEvent, value); } remove { JobAddedEvent = (MyEventHandler)System.Delegate.Remove(JobAddedEvent, value); } } public void RaiseEvent() { if (JobAddedEvent != null) JobAddedEvent(); }} event:事件delegate:委托(事件处理程序必须遵守的一个契约)public event EventHandler eh,这种写法的意思其实也就是在定义事件eh的同时,也定义了此事件的事件处理程序的方法类型。即方法必须接收两个参数object sender, PortDataReciveEventArgs e http://topic.csdn.net/t/20061226/16/5257184.html看一下这个. 向各位请教一下,如何在三层结构下向listview中读取数据 如何让N张jpg,或者gif的图片随机铺满桌面 关于Sever2003权限问题 C# winform listView如何绘制线条? 如何编辑treeview结点 如何把excel中的图片导入到sql server中? 如何删除子目录文件(有后缀判断) Visual studio2012中如何自动生成代码?? 兄弟再来接分 WinForm中 禁止打开多个相同文件的问题 现在就30分了 以后可以加 怎么连接数据库? 如何将Office插件集成到系统??????????
public delegate void EventHandler(object sender, EventArgs e);
public event EventHandler eh; LinkButton lbtn = new LinkButton();
lbtn.ID = this.controlID;
if (eh != null)
{
lbtn.Click += new System.EventHandler(eh);
}
2.委托哈有就是异步的天性,所有的委托都有BeginInvoke这个方法,运行时新起一个线程,执行其指向的方法.事件本质是一个委托的实例化的形式,没有什么本质的区别.
http://topic.csdn.net/u/20100713/15/83c2f86c-6e81-40f4-90c5-2e67ba623af8.htmlstatic void Main(string[] args)
{
MyTestClass obj = new MyTestClass();
obj.JobAdded += new MyTestClass.MyEventHandler(obj_JobAdded);//注册,调用add
obj.RaiseEvent();//调用方法触发事件
//反射remove移除事件
typeof(MyTestClass).GetEvent("JobAdded").GetRemoveMethod().Invoke(obj, new object[] { new MyTestClass.MyEventHandler(obj_JobAdded) });
obj.RaiseEvent();//调用方法触发事件
Console.ReadKey();
}static void obj_JobAdded()
{
Console.WriteLine("raise event");
}public class MyTestClass
{
public delegate void MyEventHandler();
private MyEventHandler JobAddedEvent;
public event MyEventHandler JobAdded
{
add
{
JobAddedEvent = (MyEventHandler)System.Delegate.Combine(JobAddedEvent, value);
}
remove
{
JobAddedEvent = (MyEventHandler)System.Delegate.Remove(JobAddedEvent, value);
}
}
public void RaiseEvent()
{
if (JobAddedEvent != null) JobAddedEvent();
}
}
delegate:委托(事件处理程序必须遵守的一个契约)public event EventHandler eh,这种写法的意思
其实也就是在定义事件eh的同时,也定义了此事件的事件处理程序的方法类型。
即方法必须接收两个参数
object sender, PortDataReciveEventArgs e
看一下这个.