C#中用事件有什么好处呢?
欢迎大家回答此问题,这问题有点困惑我!

解决方案 »

  1.   

    @lz:
    若要说明使用事件的好处那只有用代码来说明问题的本质了.using System;
    public class EventTest
    {
      static void Main()
       {
          MessagePublish mp = new MessagePublish();
          mp.publisher += new MessagePublishHandler(DisplayMessage);
          MessageClass mc = new MessageClass();
          mp.publisher += new MessagePublishHandler(mc.InstanceMethod);
         
          mp.InvokeEvent();      
       }   static void DisplayMessage()
       {
         Console.WriteLine("Static Method");
       }
    }public delegate void MessagePublishHandler();public class MessagePublish
    {
      public event MessagePublishHandler publisher;
      public void InvokeEvent()
       {
         if(publisher!=null)
          publisher();
       }
    }public class MessageClass
    {
      public void InstanceMethod()
       {
         Console.WriteLine("Instance Method.");
       }
    }通过以上代码我们可以看出,事件体只是给出了方法的模型.对于事件的侦听对象只要求满足其方法的模型即可;
    这也就提供了很大的发挥空间,并且被注入事件的方法实质上被添加到事件的队列当中,所以一个事件同时可以引发多个方法的调用.
    以上是我对于事件的一些看法,如有不对指出,请大家给于指正.
      

  2.   

    声明一个事件类似于声明一个进行了封装的委托类型的变量。
    public event MathDelegate mathEvent
      

  3.   

    有事叫我,没事别烦我!我是Event
      

  4.   

    看这里,大量用到了 委托和事件;看了要顶一下哦~http://blog.csdn.net/whowhen21/archive/2010/04/14/5484251.aspx