第二学期复习---(二)委托与事件

来源:互联网 发布:乌克兰 网络攻击 编辑:程序博客网 时间:2024/05/15 00:17

    //男人类
    class Mail
    {
        //建立一个委托
        public delegate void delMail();
        //建立两个事件
        public event delMail EvSay;
        public event delMail EvHappy;

        public void Say()
        {
            Console.WriteLine("M:我没房,没车...");
            if (EvSay != null)
            {
                EvSay();
            }
        }
        public void Happy()
        {
            Console.WriteLine("/nM:你说呢?:〉");
            if (EvHappy != null)
            {
                EvHappy();
            }
        }
    } 

    //女人类
    class Femail
    {
        //建立一个委托
        public delegate void delFemail();
        //建立一个事件
        public event delFemail EvAnswer;

        public void Say()
        {
            Console.WriteLine("/nF:我知道...");
        }
        public void Answer()
        {
            Console.WriteLine("/nF:你爱我吗?");
            if (EvAnswer != null)
            {
                EvAnswer();
            }
        }
        public void End()
        {
            Console.WriteLine("/nF:这是我想要的全部!/n");
        }
    }

    //测试类
    class Test
    {
        static void Main(string[] args)
        {
            Mail m = new Mail();
            Femail f = new Femail();

            //订阅事件
            m.EvSay += new Mail.delMail(f.Say);
            f.EvAnswer += new Femail.delFemail(m.Happy);
            m.EvHappy += new Mail.delMail(f.End);

            //引发事件
            m.Say();
            f.Answer();
        }
    }

原创粉丝点击