static void Main() { var dealer = new CarDealer(); var valtteri = new Consumer("Valtteri"); dealer.NewCarInfo += valtteri.NewCarIsHere; var max = new Consumer("Max"); dealer.NewCarInfo += max.NewCarIsHere; dealer.NewCar("Mercedes"); dealer.NewCarInfo -= valtteri.NewCarIsHere; dealer.NewCar("Ferrari"); }
static void Main(string[] args) { var dealer = new CarDealer(); var michael = new Consumer("Michael"); WeakEventManager<CarDealer, CarInfoEventArgs>.AddHandler(dealer, "NewCarInfo", michael.NewCarIsHere); dealer.NewCar("Mercedes"); var sebastian = new Consumer("Sebastian"); WeakEventManager<CarDealer, CarInfoEventArgs>.AddHandler(dealer, "NewCarInfo", sebastian.NewCarIsHere); dealer.NewCar("Ferrari"); WeakEventManager<CarDealer, CarInfoEventArgs>.RemoveHandler(dealer, "NewCarInfo", michael.NewCarIsHere); dealer.NewCar("Red Bull Racing"); }
static void Main() { var dealer = new CarDealer(); var michael = new Consumer("Michael"); WeakCarInfoEventManager.AddListener(dealer, michael); dealer.NewCar("Mercedes"); var nick = new Consumer("Nick"); WeakCarInfoEventManager.AddListener(dealer, nick); dealer.NewCar("Ferrari"); WeakCarInfoEventManager.RemoveListener(dealer, michael); dealer.NewCar("Toyota"); System.Console.ReadKey(); }
static void Main() { var dealer = new CarDealer(); var michael = new Consumer("Michael"); dealer.NewCarInfo += michael.NewCarIsHere; dealer.NewCar("Mercedes"); var nick = new Consumer("Nick"); dealer.NewCarInfo += nick.NewCarIsHere; dealer.NewCar("Ferrari"); dealer.NewCarInfo -= michael.NewCarIsHere; dealer.NewCar("Toyota"); Console.ReadKey(); }
static void Main(string[] args) { var dealer = new CarDealer(); var michael = new Consumer("Michael"); WeakEventManager <CarDealer, CarInfoEventArgs> .AddHandler(dealer, "NewCarInfo", michael.NewCarIsHere); dealer.NewCar("Mercedes"); var sebastian = new Consumer("Sebastian"); WeakEventManager <CarDealer, CarInfoEventArgs> .AddHandler(dealer, "NewCarInfo", sebastian.NewCarIsHere); dealer.NewCar("Ferrari"); WeakEventManager <CarDealer, CarInfoEventArgs> .RemoveHandler(dealer, "NewCarInfo", michael.NewCarIsHere); dealer.NewCar("Red Bull Racing"); }
static void Main() { var dealer = new CarDealer(); var michael = new Consumer("Michael"); dealer.NewCarInfo += michael.NewCarIsHere; dealer.NewCar("Ferrari"); var nick = new Consumer("Sebastian"); dealer.NewCarInfo += nick.NewCarIsHere; dealer.NewCar("Mercedes"); dealer.NewCarInfo -= michael.NewCarIsHere; dealer.NewCar("Red Bull Racing"); Console.ReadKey(); }
static void Main(string[] args) { // 内部发送事件 var dealer = new CarDealer(); var michael = new Consumer("1111"); // 绑定 dealer 内的 NewCarInfo 事件到 michael.NewCarIsHere 函数 WeakEventManager <CarDealer, CarInfoEventArgs> .AddHandler(dealer, "NewCarInfo", michael.NewCarIsHere); dealer.NewCar("aaaa"); // 添加一个响应函数 var sebastian = new Consumer("2222"); WeakEventManager <CarDealer, CarInfoEventArgs> .AddHandler(dealer, "NewCarInfo", sebastian.NewCarIsHere); dealer.NewCar("bbb"); // 取消 michael 响应函数 WeakEventManager <CarDealer, CarInfoEventArgs> .RemoveHandler(dealer, "NewCarInfo", michael.NewCarIsHere); dealer.NewCar("ccccc"); }