委托事件之买烟
由于家住在五楼,晚上我的精品白沙烟抽完了.然而自己不想下楼去商店买,于是委托我的朋友去买.打算买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());//响应事件
}
}
}
}
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());//响应事件
}
}
}
}
结果显示: