C#---事件(event)

一,简介

1,事件声明在一个类中

2,它需要委托类型的名称,任何附加到事件(如注册)的处理程序都必须与委托类型的签名和返回值类型匹配

3,它声明为public,这样其他类和结构可以在它上面注册事件处理程序

4,不能使用队形创建表达式(new表达式)来创建它的对象

二,声明

我们可以通过使用逗号分隔的列表在一个声明语句中声明一个以上的事件。

我们还可以使用static关键字让事件变成静态的。

三,触发事件

1,在触发事件之前和null进行比较,从而查看是否包含事件处理程序,如果事件是null,则表示没有,不能执行。

2.触发事件的语法与调用方法一样

    (1)使用事件名称,后面跟的参数列表包含在圆括号中;

    (2)参数列表必须与事件的委托类型相匹配。

四,举一列列子

class Incrementer

{

    public event EventHandler CountedADozen;  //声明事件

    void DoCount( object  source, EventArgs args )

    {

        for( int I=1 , I < 100 ; I++ )

            if(I % 12 == 0 )

                if(CountedADozen != null )    //确认有方法可以执行

                    CountedADozen(source, args);    //触发事件

    }

}

五,事件访问器

+= 和 -= 运算符是事件允许的唯一运算符。然而,我们可以修改这些运算符的行为,并且使用它们时可以让事件执行任何我么希望的自己定义代码。

要改变着两个运算符的操作,我们为事件定义事件访问器/

1,有两个访问器:add 和 remove

2,声明事件的访问器看上去和声明一个属性差不多。

3,事件访问器表现为void方法,也就是不能使用包含返回值的return语句。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • C# 事件(Event)事件(Event) 基本上说是一个用户操作,如按键、点击、鼠标移动等等,或者是一些提示信息...
    acc8226阅读 796评论 0 1
  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,568评论 1 11
  • 之前讲过了委托,要了解委托可以看之前讲委托的那一节https://www.jianshu.com/p/64416b...
    满苑繁花阅读 1,894评论 0 0
  • 一. Java基础部分.................................................
    wy_sure阅读 3,854评论 0 11
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,395评论 0 3