事件系统是个好东西,不仅调用方便,而且能最大程度的降低系统各部分的耦合度. 网上有关这方面的东西很多很多,我也用过不少,最近发现一个比较优秀的,即快速(不用遍历大串的方法列表)又简洁(代码很少). 分享上来和新手同学们共勉.
具体实现如下:
1.先定义事件参数类: EventArgs 是基类,不建议直接使用,因为通用的东西针对性不强,容易混乱(特别是找bug 的时候)... MyEvent 的具体的派生类,建议的使用方法就是每个种类的事件派生一个类,比如UIEvent,ServerEvent神马的,根据具体作用来命名.
/// <summary>
/// 事件参数基类
/// </summary>
public class EventArgs
{
public object Parameter;
}
/// <summary>
/// 自定义事件参数
/// </summary>
public class MyEvent : EventArgs
{
public int ID;
public string Name; // ...etc
}
<