首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#事件处理 与嘱托

2012-09-10 
C#事件处理 与委托using Systemusing System.Collections.Genericusing System.Textnamespace 事件处理

C#事件处理 与委托

using System;using System.Collections.Generic;using System.Text;namespace 事件处理{    // Declare the delegate handler for the event:    public delegate void MyEventHandler();    class TestEvent    {        // Declare the event implemented by MyEventHandler.        public event MyEventHandler TriggerIt;        // Declare a method that triggers the event:        public void Trigger()        {            TriggerIt();        }        // Declare the methods that will be associated with the TriggerIt event.        public void MyMethod1()        {            System.Console.WriteLine("Hello!");        }        public void MyMethod2()        {            System.Console.WriteLine("Hello again!");        }        public void MyMethod3()        {            System.Console.WriteLine("Good-bye!");        }        static void Main()        {            // Create an instance of the TestEvent class.            TestEvent myEvent = new TestEvent();            // Subscribe to the event by associating the handlers with the events:            myEvent.TriggerIt += new MyEventHandler(myEvent.MyMethod1);            myEvent.TriggerIt += new MyEventHandler(myEvent.MyMethod2);            myEvent.TriggerIt += new MyEventHandler(myEvent.MyMethod3);            // Trigger the event:            myEvent.Trigger();            // Unsuscribe from the the event by removing the handler from the event:            myEvent.TriggerIt -= new MyEventHandler(myEvent.MyMethod2);            System.Console.WriteLine(""Hello again!" unsubscribed from the event.");            // Trigger the new event:            myEvent.Trigger();            Console.ReadKey();        }    }}
输出内容如下:
Hello!Hello again!Good-bye!"Hello again!" unsubscribed from the event.Hello!Good-bye!

?

热点排行