欢迎光临
我们一直在努力

C#事件机制学习-.NET教程,C#语言

建站超值云服务器,限时71元/月

c#的事件机制是基于委托实现的。实现一个事件,要先定义一个委托类型

class1

{

public delegate void mydelegate (myeventargs e);

public event mydelegate event1;

}

然后我们可以使用+=和-=注册、移除事件

class1.event1 += new mydelegate(new myeventargs());

在class中引发事件时最好这样

class1

{

public fireevent()

{

if(event1 != null)

event1();

}

}

如果不想声明自己的委托类型的话,可以使用system.eventhandler的委托类型

public delegate void eventhandler(object sender, eventargs e);

其中eventargs转送附加参数。

可以实现自己的eventargs类

class myeventargs:eventargs

{

}

类名最好以eventargs 结尾,这是个默认规则

调用时如果不想使用参数可以传递

eventargs.empty

事件其实背后做了很多工作,自动生成一个委托实例、一个注册委托的add_xxx方法、一个注销委托的

remove_xxx方法。事实上这两个方法可以自己定制。只要声明事件时使用以下语法:

public event mydelegate1 event1

{

add

{

}

remove

{

}

}

在其中实现自己的注册函数即可。看上去是不是很像属性的定义:)

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » C#事件机制学习-.NET教程,C#语言
分享到: 更多 (0)

相关推荐

  • 暂无文章