您的位置:首页 > 其它

事件的标准用法

2015-09-07 14:33 316 查看
namespace EventSample
{
public class CarInfoEventArgs : EventArgs
{
public CarInfoEventArgs(string car)
{
this.Car = car;
}

public string Car { get; private set; }
}

public class CarDealer
{
public event EventHandler<CarInfoEventArgs> NewCarInfo;

public void NewCar(string car)
{
Console.WriteLine("CarDealer, new car {0}", car);

RaiseNewCarInfo(car);
}

protected virtual void RaiseNewCarInfo(string car)
{
EventHandler<CarInfoEventArgs> newCarInfo = NewCarInfo;
if (newCarInfo != null)
{

//确保事件的监听函数全都能执行

foreach (EventHandler<CarInfoEventArgs> action in newCarInfo.GetInvocationList())
{
action(this, new CarInfoEventArgs(car));
}

}

}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: