protected virtual void OnBoiled(BoiledEventArgs e) { //if(Boiled != null) //{ // Boiled(this,e); //} Boiled?.Invoke(this, e); }
protected virtual void OnBoiled(BoiledEventArgs e) { //if (Boiled != null) //{ // 如果有对象注册 // Boiled(this, e); // 调用所有注册对象的方法 //} Boiled?.Invoke(this, e); }
/// <summary> /// 主体触发事件 /// </summary> /// <param name="temperature"></param> public virtual void OnBoiled(int temperature) { if (Boiled != null) { //获取事件中委托数组 Delegate[] delegates = Boiled.GetInvocationList(); foreach (Delegate del in delegates) { try { //动态执行 del.DynamicInvoke(this, new BoiledEventArgs(temperature)); } catch (Exception ex) { } } } }
//可以供继承自 Heater 的类重写,以便继承类拒绝其他对象对它的监视 protected virtual void OnBoiled(BoiledEventArgs e) { //如果有对象注册,调用所有注册对象的方法 Boiled?.Invoke(this, e); }
public void Start(object obj) { Boiled?.Invoke(obj); }
protected virtual void OnBoiled(BoiledEventArgs e) { Boiled?.Invoke(this, e); // 调用所有注册对象的方法 }
//可以提供继承自Heater的类重写,以便继承类拒绝其他对象对它的监视 protected virtual void OnBoiled(BoiledEventArgs args) { //如果有对象注册 Boiled?.Invoke(this, args);//调用所有注册对象的方法 }
public void Run() { Console.WriteLine("Water is boiling"); Boiled?.Invoke(); }