C# 语法练习(14): 类[六] - 事件



using System;



class MyClass

{

    private int FNum;



    public delegate void MyDelegate(int n); /* 委托是事件的前提 */

    public event MyDelegate MyEvent;        /* 用 event 关键字根据已有的委托声明事件 */



    /* 假如是在给 Num 赋值时触动事件 */

    public int Num 

    {

        get { return FNum; }

        set 

        { 

            FNum = value;

            if (MyEvent != null) MyEvent(FNum);

        }     

    }

}



class Program

{

    static void Main()

    {

        MyClass obj = new MyClass();



        /* 给事件关联上在下面定义的方法: Event_Method */

        obj.MyEvent += new MyClass.MyDelegate(Event_Method);



        obj.Num = 5; /* 会触动事件而写出: 5 是奇数 */

        obj.Num = 6; /* 会触动事件而写出: 6 是偶数 */



        Console.ReadKey();

    }



    /* 这是准备给事件调用的方法 */

    static void Event_Method(int n)

    {

        if (n % 2 == 0) 

            Console.WriteLine("{0} 是偶数", n); 

        else 

            Console.WriteLine("{0} 是奇数", n);

    }

}


 
   

你可能感兴趣的:(C#)