using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace @delegate
{
//这里是充气娃娃拥有的一些特性,中国的娃娃叫声,日本的娃娃的叫声,娃娃的价格
public class ChongQiWaWaArgs : EventArgs
{
public readonly string zhonggejiaofa;
//中国娃娃叫声
public readonly string yibenjiaofa;
//日本娃娃叫声
public readonly string jiage;
//价格
public ChongQiWaWaArgs(string zhonggejiaofa, string yibenjiaofa, string jiage)
{
this.zhonggejiaofa = zhonggejiaofa;
this.yibenjiaofa = yibenjiaofa;
this.jiage = jiage;
}
}
//中国娃娃信息
class zhonggejiaowawa
{
public static void zhonggejiaowawayanzhi(object sender, ChongQiWaWaArgs yanzhi)
{
Console.WriteLine("中国娃娃叫法:" + yanzhi.zhonggejiaofa + "
价格:" + yanzhi.jiage);
}
}
//日本娃娃信息
class yibenjiaowawa
{
public static void yibenjiaowawayanzhi(object sender, ChongQiWaWaArgs yanzhi)
{
Console.WriteLine("日本娃娃叫法:" + yanzhi.yibenjiaofa + "
价格:" + yanzhi.jiage);
}
}
//这里是卖充气娃娃的淘宝店
public class taobaodian
{
//声明一个卖充气娃娃的委托,也就是可以进货多种娃娃的仓库
public delegate void wawa(object sender, ChongQiWaWaArgs yanzhi);
//声明一个卖充气娃娃事件,也就是可以卖多种娃娃的店面
public event wawa maiwawa;
//如果有娃娃就卖娃娃
public void MaiWaWa(ChongQiWaWaArgs yanzhi)
{
if (maiwawa != null)
{
//可以开始卖充气娃娃事件
Console.WriteLine("娃娃专卖店:本店物美价廉,送货极速,欢迎选购!");
maiwawa(this,yanzhi);
}
}
//是否卖娃娃,做生意
public void beginmaiwawa(ChongQiWaWaArgs yanzhi)
{
//已经进货娃娃了,可以卖了
MaiWaWa(yanzhi);
}
}
//这里是给淘宝店添加各种各样商品的厂家
class changjia
{
public changjia(taobaodian dianzu, ChongQiWaWaArgs waimao)
{
//给淘宝店添加中国、日本娃娃
dianzu.maiwawa += new taobaodian.wawa(zhonggejiaowawa.zhonggejiaowawayanzhi);
dianzu.maiwawa += new taobaodian.wawa(yibenjiaowawa.yibenjiaowawayanzhi);
//淘宝店可以开始卖娃娃了
dianzu.beginmaiwawa(waimao);
}
}
public class Program
{
//这里是我们人们需求,想娃娃外貌和价格是怎么样的
public static void Main()
{
//想要的娃娃外貌
ChongQiWaWaArgs waimao = new ChongQiWaWaArgs("啊~啊~啊","ya ba de","100元");
//通知厂长要给淘宝店生成一个外貌这样的娃娃,然后淘宝店才有得卖
changjia changzhan = new changjia(new taobaodian(), waimao);
Console.WriteLine(" ");
Console.Write("请输入您想要娃娃(1 或者 2):");
string wawadaihao = Console.ReadLine();
if (wawadaihao == "1")
{
Console.WriteLine("您买了一个中国娃娃
" + "花费价格为:100元.");
}
else if (wawadaihao == "2")
{
Console.WriteLine("您买了一个日本娃娃
" + "花费价格为:100元.");
}
else
{
Console.WriteLine("对不起,我们没有生成这种娃娃.");
}
Console.ReadKey();
}
}
}