.Net的标准事件模型
来源:互联网 发布:工厂生产流程软件 编辑:程序博客网 时间:2024/05/02 07:59
.NET的控件都采用一个标准的模型,或者说代理都是同样的形式:
事件:public event xxx(object sender, EventArgs e)
代理:public delegate void xxx(objcet sender ,EventArgs e)。
改装了一下Car和客户端的代码:
CAR:
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace TestCS{ public class Car { #region Properties and variables private int maxSpeed = 500; private string petName; private int currentSpeed; public string PetName { get { return petName; } set { petName = value; } } public int CurrentSpeed { get { return currentSpeed; } set { currentSpeed = value; } } #endregion public delegate void CareExploedHandle(object sender, CarEventArgs e); public class CarEventArgs : EventArgs { public readonly string msg; public CarEventArgs(string message) { this.msg = message; } } public event CareExploedHandle Exploed; bool isExploed=false; public void Accelerate(int delta) { if (isExploed) { if (Exploed != null) Exploed(this, new CarEventArgs("Car is exploed!")); } else { currentSpeed += delta; Console.WriteLine("Current Speed is {0}", currentSpeed.ToString()); if (maxSpeed< currentSpeed) isExploed = true; } } }}
客户端:
using System;using System.Collections;using System.Linq;using System.Text;using System.Collections.Generic;using System.Runtime.Serialization;namespace TestCS{ class Program { public static void Main(string[] args) { Car c = new Car(); c.Exploed += new Car.CareExploedHandle(c_Exploed); for (int i = 0; i < 10; i++) { c.Accelerate(100); } } static void c_Exploed(object sender, Car.CarEventArgs e) { Console.WriteLine(e.msg); } }}
- .Net的标准事件模型
- 建议41:实现标准的事件模型
- IE和标准DOM的事件模型
- ASP.NET的事件模型
- ASP.NET的事件模型
- ASP.NET的事件模型
- ASP.NET的事件模型
- 标准事件模型和IE事件模型
- 标准事件模型和IE事件模型
- W3C的标准DOM事件模型和IEDOM事件模型的区别
- DOM标准与IE的html元素事件模型区别
- DOM标准与IE的html元素事件模型区别
- DOM标准与IE的html事件模型区别
- .NET 事件模型教程
- asp.net事件模型
- 仿net事件委托的java事件模型实现
- .Net中的事件处理模型
- JavaScript中的事件传播(DOM2标准事件模型)
- asp.net执行存储过程
- 经典游戏之ABCDE
- 平台必死!!
- 导出Excel
- 浅谈Exchange Server邮件存储系统-原理篇(1)
- .Net的标准事件模型
- 运行后自已删除程序
- 压缩日志及数据库文件大小
- 初学JAVA的几点建议
- 中科院Java高端培训视频教程第01讲-B
- 很高兴
- 浅谈Exchange Server邮件存储系统-原理篇(2)
- C++对象模型之内存区的使用
- 理解Load Average做好压力测试