分享

委托,事件(猫,鼠,人联动事类)

 雪柳花明 2016-09-13
namespace CatMouse
{
    class MainClass
    {
        static void Main(string[] args)
        {
            Cat cat = new Cat("cat1");
            Master ma = new Master("ivan");
            Mouse ms = new Mouse("jerry");
            cat.Cry += new Cat.CryEventHandler(ms.Response); //为事件添加事件处理程序
            cat.Cry += new Cat.CryEventHandler(ma.Response);
            cat.OnCry();       //猫叫
        }
    }
    class Cat
    {
        public delegate void CryEventHandler(object o, EventArgs e); //声明Delegate
        public event CryEventHandler Cry;                           //定义Event
        private string m_name;
        public Cat(string name)
        {
            m_name = name;
        }
        public void OnCry()
        {
            if (Cry != null)
            {
                Cry(this, EventArgs.Empty);          //触发事件
            }
        }
    }
    public class Master
    {
        private string m_name;
        public Master(string name)
        {
            m_name = name;
        }
        public void Response(object o, EventArgs e)
        {
            Console.WriteLine(m_name + "wake up");
        }
    }
    public class Mouse
    {
        private string m_name;
        public Mouse(string name)
        {
            m_name = name;
        }
        public void Response(object o, EventArgs e)
        {
            Console.WriteLine(m_name + "flee away");
        }
    }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多