public event EventHandler <CarInfoEventArgs> NewCarInfo; //定义了类型为EventHandler<CarInfoEventArgs>的NewCarInfo事件 //然后再NewCar()方法中,通过调用RaiseNewCarInfo方法触发NewCarInfo,这个方法的实现检查委托是否为空,不为空引发事件 protected virtual void RaiseNewCarInfo(string car) //在这个方法中触发事件 { NewCarInfo?.Invoke(this, new CarInfoEventArgs(car)); //简化版委托调用 //EventHandler<CarInfoEventArgs> newCarInfo = NewCarInfo; //if (newCarInfo != null) //{ // newCarInfo(this, new CarInfoEventArgs(car)); //} }
public void NewCar(string car) { Console.WriteLine($"New car! {car}"); //NewCarInfo?.Invoke(this, new CarInfoEventArgs(car)); if (NewCarInfo != null) { NewCarInfo.Invoke(this, new CarInfoEventArgs(car)); } }
public void NewCar(string car) { Console.WriteLine($"CarDealer, new car {car}"); NewCarInfo?.Invoke(this, new CarInfoEventArgs(car)); //if (NewCarInfo != null) //{ // NewCarInfo(this, new CarInfoEventArgs(car)); //} }
/// <summary> /// 调用注册的所有委托 /// </summary> /// <param name="car"></param> public void NewCar(string car) { WriteLine($"CarDealer,new car {car}"); //回调注册的方法,触发事件 NewCarInfo?.Invoke(this, new CarInfoEventArgs(car));//等效于下边的写法 //if (NewCarInfo!=null) //{ // NewCarInfo.Invoke(this, new CarInfoEventArgs(car)); //} }
public void NewCar(string car) { NewCarInfo?.Invoke(this, new CarInfoEventArgs(car)); }
public void NewCar(string car) { Console.WriteLine($"CarDealer,new car {car}"); NewCarInfo?.Invoke(this, new CarInfoEventArgs(car)); }
public void NewCar(string car) { Console.WriteLine("调用NewCar()方法"); NewCarInfo?.Invoke(this, new CarInfoEventArgs(car)); }
public void NewCar(string car) { Console.WriteLine($"CarDealer,new car{car}"); //触发事件之前要检查委托是否为null ?. NewCarInfo?.Invoke(this, new CarInfoEventArgs(car)); }
public void RaiseNewCarInfo(string car) { Console.WriteLine("\nDealer, nowe auto: {0}", car); NewCarInfo?.Invoke(this, new CarInfoEventArgs(car)); }
public void RaiseNewCarInfo(string car) { Console.WriteLine("\n{0}, nowe auto: {1}, czas: {2}", getName(), car, DateTime.Now); // emituj zdarzenie, gdy ktoś czeka! NewCarInfo?.Invoke(this, new CarInfoEventArgs(car)); }
protected virtual void RaiseNewCarInfo(string car) { NewCarInfo?.Invoke(this, new CarInfoEventArgs(car)); }