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# 语法练习(14): 类[六] - 事件
最新推荐文章于 2022-03-22 02:50:01 发布