委托事件之买烟 由于家住在五楼,晚上我的精品白沙烟抽完了.然而自己不想下楼去商店买,于是委托我的朋友去买.打算买10包. using System; using System.Collections.Generic; using System.Text; namespace BuyCigarette { class Program { static void Main(string[] args) { Console.Write("请输入买烟的数量:"); //声明BuyCigarettesEvent类的一个实例 BuyCigarettesEvent m = new BuyCigarettesEvent(); m.BuyCigarette += new BuyCigarettesEvent.EventDelegate(Result);//BuyCigarette事件交给EventDelegate委托去做 //转换用户输入,并调用Buy方法 m.Buy(int.Parse(Console.ReadLine())); //输出总价格 Console.WriteLine("总价格为:" + m.Price+"元人民币"); Console.ReadKey(false); } //事件处理函数。 static void Result(object sender, EventArgs e) { Console.WriteLine("朋友去买烟了"); } } public class BuyCigarettesEvent { //首先声明一个委托 public delegate void EventDelegate(object sender, EventArgs e); //声明一个事件 public event EventDelegate BuyCigarette; //价格 public int Price; public void Buy(int number) { Price = number * 10;//假如是买的是精品白沙烟10元一包 if (BuyCigarette != null) { BuyCigarette(this, new EventArgs());//响应事件 } } } } 结果显示: