委托事件之买烟

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

        }


    }

}


结果显示:


posted on 2008-12-01 14:11  草原和大树  阅读(389)  评论(0编辑  收藏  举报