黑马程序员技术交流社区

标题: 事件的理解 [打印本页]

作者: ♂张耕明    时间: 2012-11-10 22:19
标题: 事件的理解
本帖最后由 ♂张耕明 于 2012-11-10 22:48 编辑

事件:它封装了委托类型的变量,使得:在类的内部,不管你声明它是public还是protected,它总是private的。在类的外部,注册“+=”和注销“-=”的访问限定符与你在声明事件时使用的访问符相同。
  1. public delegate void SayDelegate(string content);//定义一个委托
  2. class Program
  3. {
  4.     static void Main(string[] args)
  5.    {
  6.       SayManager manager = new SayManager();
  7.       manager.sayDelegate += Program.SayChinese;
  8.       manager.Say("这是事件的演示!");
  9.       Console.ReadKey(true);
  10.    }
  11.    private static void SayChinese(string content)
  12.    {
  13.      Console.WriteLine("中文:" + content);
  14.    }
  15.     private static void SayEnglish(string content)
  16.    {
  17.     Console.WriteLine("英文:" + content);
  18.    }
  19. }
  20. class SayManager
  21. {
  22.    public event SayDelegate sayDelegate;//声明一个事件就是类似于声明一个进行了封装的委托类型的变量
  23.    public void Say(string content)
  24.    {
  25.       sayDelegate(content);
  26.     }
  27. }
复制代码

作者: 许坤    时间: 2012-11-10 22:47
沙发,学习!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2