c# 事件

来源:互联网 发布:npc数据库 编辑:程序博客网 时间:2024/04/27 16:08
using System;namespace Lee{// publishpublic class Grocer{public event EventHandler<NewGoodsEventArgs> NewGoodInfo;// 与下面一句是同样的意思//public delegate void EventHandler<TEventArgs>(object sender, TEventArgs e) where TEventArgs:EventArgs;public void NewGood(string good){Console.WriteLine("New Good {0} is coming...",good);if(NewGoodInfo != null){NewGoodInfo(this,new NewGoodsEventArgs(good));} }}// eventpublic class NewGoodsEventArgs : EventArgs{public NewGoodsEventArgs(string good){this.NewGood = good;}public string NewGood{get;private set;}}// subscribepublic class Consumer{public Consumer(string name){this._name = name;}public void NewGoodsIsHere(object sender, NewGoodsEventArgs e){Console.WriteLine("Consumer {0} get the good {1}",_name,e.NewGood);}private string _name;}public class MainApp{public static void Main(){Grocer grocer = new Grocer();Consumer con1 = new Consumer("Lee");grocer.NewGoodInfo += con1.NewGoodsIsHere;Consumer con2 = new Consumer("Mary");grocer.NewGoodInfo += con2.NewGoodsIsHere;grocer.NewGood("话梅");Console.ReadKey();}}}

原创粉丝点击