事件

来源:互联网 发布:淘宝免费注册开店 编辑:程序博客网 时间:2024/06/11 18:36

using System;

using System.Collections.Generic;

using System.Text;

//题目要求:创建ZeroEntered事件,接受用户输入的两个数。如果是0,引发事件并调用disp并显示"不允许为0" ,如果数字大于0 刚进行相除

//并显示结果

namespace ZeroEntere

{

    class Program

    {

        static void Main(string[] args)

        {

                  Zero zero = new Zero();

                 Console.WriteLine("请输入一个数字");

                int num1 =Convert.ToInt32(Console.ReadLine());

                Console.WriteLine("请再输入一个数字");

                int num2 = Convert.ToInt32(Console.ReadLine());

           

                if (num1 == 0 || num2 == 0)

                {

                    //第四步进行订阅,ZeroEntered是一个事件,OnZeroEntered是一个委托,disp是委托者,委托给了ZeroEntered事件

                    zero.ZeroEntered += new Zero.OnZeroEntered(disp);

                    //第五步事件在哪个方法中就去调用,进行触发

                    zero.Entered();

                }

                else

                {

                        Entered(num1,num2);

                }

 

          

         

         

        }

        private static void Entered(int num1, int num2)

        {

            Console.WriteLine("相除的结果是:{0}", num1 / num2);

        }

        private static void disp()

        {

            Console.WriteLine("输入数字不能为0");

        }

      

       

    }

    class Zero

    {

        //第一步创建ZeroEntered事件

        public delegate void OnZeroEntered();

        public event  OnZeroEntered ZeroEntered;

       //第二步写通知

        public void Entered()

        {

            if (ZeroEntered != null)

            {

                //第三步进行触发

                ZeroEntered();

            }

         

        }

 

     

    }

}