using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace ConsoleApplication1 {//先在外面定义一个类.class MyClass{//委托是事件的前提,所以先定义一个委托public delegate void Mydelagate(int i);// 接着定义事件. public event Mydelagate MyEvent; // event关键字是定义事件. 事件必须用委托// 让事件在给某个属性赋值的时候触发int FHello;public int Hello{get { return FHello; }set{if (value != FHello){FHello = value;MyEvent(FHello);}}}//到这里事件就定义完了.但是还缺少让事件关联的方法. }class Program{// 这里我们定义一个和事件关联的方法.public static void ShowMessage(int i) // {if (i == 10){ Console.WriteLine("十全十美"); }else{ Console.WriteLine("也许没有十全十美的事"); }}//然后开始实例上面MyClass这个类static void Main(string[] args){MyClass My = new MyClass();My.MyEvent += new MyClass.Mydelagate(ShowMessage); //给事件关联方法.事件只能出现在+= 或者 -=的左边.//然后我们来试试这个事件, 给Hello属性赋值看看 My.Hello = 10; // 输出十全十美My.Hello = 9; // 输入也许没有十全十美的事. }} }
转载于:https://www.cnblogs.com/mdnx/archive/2012/10/07/2714372.html