经验总结19--C#事件

之前学过C#事件,不过一直没搞懂怎么弄。

这一次又研究了下。

1、定义一个参数类,用于事件的传参。(可省略)

public class UserEventArgs

{

public User user { get; set; }

}

2、编写需要执行事件的类。

public class UserTask

{

public delegate void UserHandler(object sender, UserEventArgs e);//声明委托

public event UserHandler handler;//把委托给事件

public void Submit()//触发事件的方法

{

OnEvent(new UserEventArgs (this));//传参,触发事件

}

public virtual void OnEvent(UserEventArgs e)

{

if (handler != null)

handler(this, e);//回调,去调用需要执行的函数

}

}

3、触发事件。

UserTask ut=new UserTask();

ut.handler+=new UserTask.UserHandler(CallbackMethod);//需要执行的方法

ut.Submit();//执行方法

public void(object sender, UserEventArgs e){}//接收参数,执行其他操作。

最后,事件就是主动去提交回调,然后调用使用该事件的方法。只要Submit执行时,就会触发回调函数。

经验总结19--C#事件

时间: 2024-10-06 01:10:06

经验总结19--C#事件的相关文章

Asp.Net请求管道中的19个事件

请求管道中的19个事件. (1)BeginRequest: 开始处理请求 (2)AuthenticateRequest授权验证请求,获取用户授权信息 (3):PostAuthenticateRequest获取成功 (4): AunthorizeRequest 授权,一般来检查用户是否获得权限 (5):PostAuthorizeRequest:获得授权 (6):ResolveRequestCache:获取页面缓存结果 (7):PostResolveRequestCache 已获取缓存   当前请求

请求管道中的19个事件

下面是请求管道中的19个事件. (1)BeginRequest: 开始处理请求 (2)AuthenticateRequest授权验证请求,获取用户授权信息 (3):PostAuthenticateRequest获取成功 (4): AunthorizeRequest 授权,一般来检查用户是否获得权限 (5):PostAuthorizeRequest:获得授权 (6):ResolveRequestCache:获取页面缓存结果 (7):PostResolveRequestCache 已获取缓存 当前请

HttpApplication的处理管道19个事件。

HttpApplication对象是由Asp.net帮助我们创建的,它是asp.net中处理请求的重要对象.为了便于扩展,HttpApplication采用处理管道的方式进行处理,将处理的步骤分为多个步骤,每个步骤通过事件的形式暴露给程序员,这些事件按照固定的处理顺序依次触发,程序员通过编写事件处理方法就可以定义一个请求的扩展过程. 对于HttpApplication,到ASP.NET 4.0,提供了19个标准事件. 1.BeginRequest:asp.net开始处理请求的第一个事件,表示处理

asp.net页面生命周期请求管道19个事件

HttpContext: ecb→ HttpWorkerRequest→HttpContext HttpApplicationFactory.获取了HttpApplication实例之后. (1)BeginRequest: 开始处理请求 (2)AuthenticateRequest授权验证请求,获取用户授权信息 (3):PostAuthenticateRequest获取成功 (4): AunthorizeRequest 授权,一般来检查用户是否获得权限 (5):PostAuthorizeRequ

ASP.NET知识总结(4.请求管道中的19个事件)

(1)BeginRequest: 开始处理请求 (2)AuthenticateRequest授权验证请求,获取用户授权信息 (3):PostAuthenticateRequest获取成功 (4): AunthorizeRequest 授权,一般来检查用户是否获得权限 (5):PostAuthorizeRequest:获得授权 (6):ResolveRequestCache:获取页面缓存结果 (7):PostResolveRequestCache 已获取缓存   当前请求映射到MvcHandler

jquery事件之事件

事件名 说明 语法 (events 事件类型,data数据,handler 事件处理函数,selector 选择器) blur() 获得失去鼠标光标焦点事件 jQueryObject.blur( [ [ data ,]  handler ] ) change() 在文本内容或选项被更改时触发.该事件仅适用于<input type="text">和<textarea>以及<select> jQueryObject.change( [ [ data ,]

JS 鼠标滚轮事件(mousewheel/DOMMouseScroll)

onmousewheel (FireFox不支持此事件) 1 // IE/Opera/Chrome/Safari 2 document.body.onmousewheel = function(event) { 3 event = event || window.event; 4 console.dir(event); 5 }; DOMMouseScroll(FireFox独有事件) 1 // Firefox 2 document.body.addEventListener("DOMMouseS

jQuery基础(鼠标事件,表单事件,键盘事件,自定义事件 篇)

1.jQuery鼠标事件之click与dbclick事件 方法一:$ele.click()(不带参数) <div id="test">点击触发<div> $("ele").click(function(){ alert('触发指定事件') }) $("#test").click(function(){ $("ele").click() //手动指定触发事件 });   方法二:$ele.click( h

C#基础加强篇—委托、Lambda表达式和事件(下)

3.事件 事件作为C#中的一种类型,为类和类的实例定义发出通知的能力,从而将事件和可执行代码捆绑在了一起.事件是对象发送的消息,以发信号通知操作的发生.操作可能是由用户交互引起的,也可能是由某些其他的程序逻辑触发的.引发(触发)事件的对象叫做事件发送方,捕获事件并对其做出响应的对象叫做事件接收方. C#事件是按“发布——预定”的方式工作.先在一个类中公布事件,然后就可以在任意数量的类中对事件预定.在事件通信中,事件发送方类并不知道哪个对象或方法将接收到(处理)它所引发的事件.所需要的是在源和接收

概率与统计 知识回顾(一) 事件的概率

一.概率是什么 概率是表示某种情况(事件)出现的可能性大小的一种数量指标,它介于0与1之间. 1.1 主观概率 凭着经验和知识对事件发生的可能性作出的一种主观估计,主观概率可以理解为一种心态或倾向性. 1.2 等可能试验 假定某个试验有有限个可能的结果$e_1,e_2,\dots,e_N$.假定从该试验的条件及实施方法去分析,我们找不到任何理由认为其中某一结果,例如$e_i$,比任一其他结果,例如$e_j$,更具有优势(即更倾向于易发生),则我们只好认为,所有结果$e_1,e_2,\dots,e