c#事件复习

原创 2016年08月28日 20:21:19
事件和委托和有多相似的地方,都可以理解为函数的指针,但是最大的区别是:委托可以在定义的类外部调用,但是事件只能在定义的类的内部调用。所以委托其实有一种危险性,即:如果定义的方法是private,但是定义的委托是public,这个委托指向的这个方法依然能在类的外部调用,这样就打破了类的封装性,而事件正是避免了这种状况的发生,只能在类的外部给这个事件赋值,但是不能在类的外部调用这个事件。
例子:
using System;
class A
{  
    public delegate  void wt();   //定义委托
    public event wt t;  //定义事件
    public A()
    {
        t += showA;   //添加方法
    }
 
    private void showA()
    {
        Console.WriteLine("showa");
    }
    public void show()
    {
        t();   //调用事件
    }
    
}

class B
{
    public void showB()
    {
        Console.WriteLine("showb");
    }
}

class Test
{
    public  static void Main()
    {
        A a = new A();
        a.show();
        B b = new B();

    }
}


学习ASP.NET(一) 简单复习C#

由于工作中使用VB.NET,所以在学习ASP.NET之前先简单复习一下C#的知识,这里只简单记录一些以前比较模糊的概念以供以后复习: 1.this关键字有两种用法,一是在类中表示当前类的对象,一种是构...
  • mengqiqihao
  • mengqiqihao
  • 2016年09月14日 11:35
  • 214

【转】数据结构C#版笔记--队列(Quene)

转自:http://www.cnblogs.com/yjmyzz/archive/2010/11/04/1865733.html 队列(Quene)的特征就是“先进先出”,队列把所有操作限制在"...
  • zjwen2007
  • zjwen2007
  • 2014年12月16日 19:50
  • 415

关于c#中的事件

c#事件学习
  • Joyhen
  • Joyhen
  • 2013年01月14日 11:32
  • 9179

快速理解C#中的委托与事件

以下内容只是个人理解,仅供参考。 什么是委托? 先看最简单的委托例子: namespace DelegateTest { public delegate void MessageDele...
  • Wiiix
  • Wiiix
  • 2016年05月20日 20:02
  • 5306

Unity3D游戏开发中的C#事件

Unity3D是现在越来越流行的3D游戏引擎,它支持JavaScript,c#和Boo语言。其中C#有一个内置的事件机制,为了响应一个GameObject的事件分发,你通常要建立一个脚本继承MonoB...
  • book_longssl
  • book_longssl
  • 2015年01月31日 15:00
  • 1182

C# 自定义事件

C#的事件demo
  • xiaoguidangjiajia
  • xiaoguidangjiajia
  • 2016年01月05日 17:59
  • 550

C#中的委托和事件

C#中的委托和事件   前言   委托和事件在.NET框架中应用的很广泛,但是楼主因为知识尚浅,用到的不多,但是听前辈们说,这个委托和事件就像两座大山,只要翻过了这...
  • shanyongxu
  • shanyongxu
  • 2016年02月25日 17:09
  • 1100

C#多线程和事件

原文(C# Multithreading and Events):http://www.codeproject.com/Articles/886223/Csharp-Multithreading-an...
  • Joyhen
  • Joyhen
  • 2015年03月16日 02:30
  • 1499

浅析C#中的事件

讲过了委托,不得不讲事件。 事件基于委托,为委托提供了一种发布/订阅机制。 在发生其他类或对象关注的事情时,类或对象可通过事件通知它们。发送(或引发)事件的类称为“发行者”,接收(或处理)事件的类称...
  • wangshubo1989
  • wangshubo1989
  • 2015年08月26日 09:27
  • 1978

C#自定义事件实现简介

目标:通过一个实例来按步骤说明C#自定义事件如何创建,引发,接收和取消。例子是一个窗体程序,一个按钮和一个标签,点击按钮的时候就触发一个事件得到当前时间,如果秒是后30秒就输出一个Wasn't a r...
  • gws1229
  • gws1229
  • 2013年12月27日 20:02
  • 970
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c#事件复习
举报原因:
原因补充:

(最多只允许输入30个字)