事件如何支持泛型代理
来源:互联网 发布:工厂生产流程软件 编辑:程序博客网 时间:2024/05/02 12:00
。。。这样的话,可以少声明很多代理了。。。(可以多个事件对应一个代理)
还没有感觉出来有什么特别大的用途。
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<T>(object sender, T e); public class CarEventArgs : EventArgs { public readonly string msg; public CarEventArgs(string message) { this.msg = message; } } //这里指定的类型 public event CareExploedHandle<CarEventArgs> 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<Car.CarEventArgs>(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); } }}
- 事件如何支持泛型代理
- js---JavaScript中的事件委托/事件代理,如何通过事件委托进行异步DOM事件监听
- 事件代理
- 事件代理
- 事件代理
- 事件代理
- js--事件--事件代理
- js--事件--事件代理
- 【来自FRATA系统】如何支持鼠标滚动事件
- jdk动态代理支持
- WinHTTP 自动代理支持
- bazel支持proxy代理
- js代理模式-代理事件
- 事件代理和事件委托
- js事件委托(事件代理)
- JavaScript 事件委托/事件代理
- JavaScript事件委托/事件代理
- javascript-委托事件(事件代理)
- 中科院Java高端培训视频教程第01讲-B
- 很高兴
- 浅谈Exchange Server邮件存储系统-原理篇(2)
- C++对象模型之内存区的使用
- 理解Load Average做好压力测试
- 事件如何支持泛型代理
- 微软官方公布的全世界有名的Dynamics论坛blog大全
- 一种理想的在关系数据库中存储树型结构数据的方法 - Just do it - 博客园
- 中科院Java高端培训视频教程第02讲-A
- hello world
- Oracle定义包和过程,返回结果集(面向对象)
- 写《自动化软件测试》的书评有书送!有意者请与我联系
- c#连接数据库
- 为客户端使用事件增加匿名方法