在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
本文实例讲述了asp.net中c#自定义事件的实现方法。分享给大家供大家参考。具体分析如下: c#自定义事件分为六步,声明关于事件的委托,声明事件,编写引发事件的函数,事件处理,这里我们就来具体的介绍一下。 C#自定义事件的具体实现步骤如下: 复制代码 代码如下: public delegate void 事件名称EventHandler(object serder, EventArgs e); 事件名称用你的自己的来代替,随后的EventHandler是C#的建议命名规范,当然如果你不想遵守,可以使用任何字符甚至可以不要。 如果你想自定义事件的参数EventArgs,你可以从这个类派生你自己的事件参数类,然后在delegate的声明中,用你的参数类替换EventArgs 注:要全面了解自定义事件的原理,你需要学习有关delegate的知识。 2、在你的类中声明一个事件,并且使用步骤1的delegate作为事件的类型: 3、在你的类中需要触发事件的方法中,添加事件触发代码: 事件名称(this, new EventArgs()); 4、C#自定义事件注册: 事件注册和普通的事件注册没有不同,也就是说如果一个外部的对象在你的事件被触发的时候需要作出响应,那么你可以在外部了构造器中(或者适当的地方)对事件进行注册 带有事件的类实例.事件名称+= new 事件名称EventHandler( 事件处理方法名称); 5、编写事件处理方法: public void 事件处理方法名称(object sender, EventArgs e){ 复制代码 代码如下: namespace 自定义事件
{ //自定义事件分为以下几步: class Program { static void Main(string[] args) { //第六步:主函数调用 Dog dog = new Dog(); Host host = new Host(dog); DateTime now = new DateTime(2013,8,31,22,39,50); DateTime nigth = new DateTime(2013,8,31,22,40,0); Console.WriteLine("~~~~~~~~~时间开始走啊走啊~~~~~~~~~"); while(now <nigth){ Console.WriteLine("当前时间:"+now); System.Threading.Thread.Sleep(1000); now = now.AddSeconds(1); } Console.WriteLine("~~~~~~~我是小偷,我来了~~~~~~~~~~~~"); dog.OnAlarn(); } } class Dog { //第一步:声明关于事件的委托 public delegate void AlarnEven(object sender,EventArgs e); //第二步:声明事件 public event AlarnEven Alarn; //第三步:编写引发事件的函数 public void OnAlarn() { if(this.Alarn!=null){ Console.WriteLine("n狗报警:有小偷进来了.汪汪汪~~~~~~~~~"); this.Alarn(this,new EventArgs()); } } } class Host { //第四:编写事件的处理程序 void HostAlarn(object sender, EventArgs e) { Console.WriteLine("主人:抓住小偷啦..!"); } //第五步:注册事件的处理程序 public Host(Dog dog) { dog.Alarn += new Dog.AlarnEven(HostAlarn); } } } 希望本文所述对大家的asp.net程序设计有所帮助。 |
请发表评论