C#中事件"event"的使用

承担项目中一个模块的编写的时候,我们可以写出一系列的public接口供其他人调用,这种方式一般都是被动的等待被调用,然后处理完事务后返回给调用者接口。可是当我们的模块中发生了一些事情,需要主动去通知别人的时候,public接口就很无力了,像这种情况就可以用event来做。

 1 public class EventDemo
 2 {
 3     public delegate void myEventHandler(object sender,myEventArgs e);
 4     public static event myEventHandler myEvent;
 5
 6     private void getSomething()
 7     {
 8         /*发生了一些事情,想要通知使用我的模块的用户*/
 9         if(myEvent!=null)
10         {
11             myArgs=new myEventArgs();
12           //将事件通知出去了。需要让别人知道的东西可以放在myArgs里面传递出去
13             myEvent(this,myArgs);
14         }
15     }
16 }
17
18 public class myEventArgs:EventArgs
19 {
20     public int myIntData;
21     public bool myBoolData;
22 }

呵呵,第一次在CNBOLG上写些自己的东西,挺简单的。不过贵在坚持,我会随着我的博客一起成长的。

C#中事件"event"的使用

时间: 2024-10-30 10:45:48

C#中事件"event"的使用的相关文章

【Flume】【源码分析】flume中事件Event的数据结构分析以及Event分流

前言 首先来看一下flume官网中对Event的定义 一行文本内容会被反序列化成一个event[序列化是将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储和传输数据],event的最大定义为2048字节,超过,则会切割,剩下的会被放到下一个event中,默认编码是UTF-8,这都是统一的. 但是这个解释是针对Avro反序列化系统中的Event的定义,而flume ng中很多event用的不是这个,所以你只要记住event的数据

JavaScript中的Event事件对象详解

JavaScript事件[event] 在JavaScript中对于事件来讲,首先,我们需要了解这样几个概念:事件:事件处理程序:事件类型:事件流:事件冒泡:事件捕获:事件对象:浏览器内核:事件绑定:事件方面的性能优化(事件委托.移除事件处理程序):常见的浏览器兼容问题等. 什么是事件event: JavaScript事件是:浏览器.文档(document)窗口中的发生的特定的交互瞬间:而JavaScript和HTML之间的交互行为就是通过事件来触发的. 事件处理程序: 事件处理程序:我们用户在

js事件中的event对象

addEvent(oDiv,"click",function(event){ console.log(event.bubbles+"事件是否冒泡"); console.log(event.cancelable +"是否可以取消默认行为") console.log(event.defaultPrevented+"DOM3新增,是否已经调用了preventDefault()"); console.log(event.target)

QT中使用Event Filter监听按钮事件,Release后按钮不见

Accepted : 42   Submit : 122 Time Limit : 1000 MS   Memory Limit : 65536 KB 题目描述 五虎棋是流传在东北民间的一种游戏,GG小的时候,经常被表哥虐得很惨. 由于各个地区的规则可能不大相同,并且GG的回忆不一定很准,所以,如果规则和你平常玩的的有冲突,请以这里为主. 棋盘是横五条,纵五条直线,形成25个交叉点,双方轮流把棋子放到交叉点上 (由于所需各自和棋子数目不多,才12+13,GG小的时候,用的是象棋的棋盘和棋子,真的

C#中的委托(Delegate)和事件(Event)

C#中的委托(Delegate)和事件(Event) 2007-11-30 11:40:00 分类: 把C#中的委托(Delegate)和事件(Event)放到现在讲是有目的的:给下次写的设计模式——观察者(Observer)有一个参考. 委托和事件应该是C#相较于C++等之前的非托管的语言提出的一个新的术语(term).“旧瓶装新酒”这样的描述似乎有些“贬义”,但确实是这样.委托也好,事件也好最初的起源是C/C++中的函数指针,关于函数指针的简单介绍可以参见我以前的一篇<C/C++中指向函数的

javascript中的事件Event

一.事件流 1.事件流:描述的是从页面中接受事件的顺序 IE的事件流是事件冒泡流,Netscape的事件流是事件捕获流. 2.事件冒泡 IE的事件流叫做事件冒泡(event bubbing),即事件开始时由具体的元素接受,然后逐级向上传播到较为不具体的节点.如果点击div.则事件流如下 div --> body --> html --> body 事件冒泡的过程如图 3.事件捕获 Netscape提出的事件流是事件捕获(event capturing),即不太具体的节点更早的接受到事件,

pythonl练习笔记——threading线程中的事件Event

1 事件Event 使用方法:e = threading.Event() Event对象主要用于线程间通信,确切地说是用于主线程控制其他线程的执行. Event事件提供了三个方法:wait等待.clear清除信号False.set设置信号True. Event事件实现通信机制:全局定义了一个"Flag"(默认为False),若Flag信号被clear为False,则执行event.wait方法时会阻塞:若Flag信号被set为True,则执行event.wait方法时便不阻塞. Eve

Qt中事件分发源代码剖析(一共8个步骤,顺序非常清楚:全局的事件过滤器,再传递给目标对象的事件过滤器,最终传递给目标对象)

Qt中事件分发源代码剖析 Qt中事件传递顺序: 在一个应该程序中,会进入一个事件循环,接受系统产生的事件,并且进行分发,这些都是在exec中进行的.下面举例说明: 1)首先看看下面一段示例代码: [cpp] view plaincopy int main(int argc, char *argv[]) { QApplication a(argc, argv); MouseEvent w; w.show(); return a.exec(); } 2)a.exec进入事件循环,调用的是QAppli

Yii 2.0 中事件的使用

关于PHP的事件处理,参照 http://www.cnblogs.com/mafeifan/p/4322238.html http://www.cnblogs.com/mafeifan/p/4322271.html 为什么要使用事件?可能我们会有下面的业务需求,每当一个新用户注册成功会我们要给管理员发封邮件,还要有推送通知. 之前的代码可能是这样 if($model->save()){ // 注册成功, 跳转 } 要变成这样 if($model->save()){ $mailObj->s