摘 要 委托与事件,这是一个老生常谈的话题,很多人在讲,很多人在用,但似乎它是一个永远也说不完道不尽的东西。那么,到底什么是委托?什么是事件?委托链又是怎么回事?为什么使用事件时常常用到+=/-=?委托又是如何支持协变和逆变的呢?你喜欢使用Action和Func< ...
摘 要 年 月 日,北京因暴雨灾害导致劳命伤财。这个事情过去后, 自然灾害预警 系统又一次被人们提起,它就是将自然现象前交发送通知给人们,这个过程能很好地解释C 语言中的事件。在上一节 C 基础知识梳理系列五:委托与事件 上 我们主要讨论了与委托相关的知识,包括委托的内部实现 委托链等。那么事件与委托是什么关系呢 事件又是如何工作的呢 这些将是这节主要讨论的内容。 第二节 事件 气象局可以利用移 ...
2012-07-28 09:24 3 3923 推荐指数:
摘 要 委托与事件,这是一个老生常谈的话题,很多人在讲,很多人在用,但似乎它是一个永远也说不完道不尽的东西。那么,到底什么是委托?什么是事件?委托链又是怎么回事?为什么使用事件时常常用到+=/-=?委托又是如何支持协变和逆变的呢?你喜欢使用Action和Func< ...
0. 前言 事件和委托是C#中的高级特性,也是C#中很有意思的一部分。出现事件的地方,必然有委托出现;而委托则不一定会有事件出现。那为什么会出现这样的关系呢?这就需要从事件和委托的定义出发,了解其中的内在。 1. 委托 说起委托,就不得不回忆一下之前在Linq篇中介绍的匿名方法,其中提 ...
摘 要 反射,一个很有用且有意思的特性。当动态创建某个类型的实例或是调用方法或是访问对象成员时通常会用到它,它是基于程序集及元数据而工作的,所以这一章我们来讨论一下程序集、反射如何工作、如何动态创建类型及对象等相关知识,甚至可以动态创建程序集 ...
摘 要 设计类型的时候可以使用各种成员来描述该类型的信息,但有时候我们可能不太愿意将一些附加信息放到类的内部,因为这样,可能会给类型本身的信息描述带来麻烦或误解。我们想为类 ...
摘 要 几乎所有的资料都告诉我们,在频繁进行字符串拼接操作的时候推荐使用StringBuilder,因为它提供更优秀的性能,不辞劳苦的我们也写示例验证过,确实如传说的那样! ...
摘 要 字符串是保存文本的System.String类型对象。它跟值类型(如:Int32、Int64等)有着相似的使用方法及表达目的,但它并不是值类型。由于在编程中会大量使用字符串,所以CLR为了提高性能及开发方便,对它进行了特殊处理。这一章,我们来介绍一下字符串的驻留 ...
摘 要 这个系列,将从山脚写到山腰。由于鄙人知识匮乏,不敢奢望攀登山顶。 C# Target Runtime: v4.0.30319 系列索引 C#基础知识梳理系列一:CLR及程序集部署 C#基础知识梳理系列二:C# ...
引言: 上一个专题已经和大家分享了我理解的——C#中为什么需要委托,专题中简单介绍了下委托是什么以及委托简单的应用的,在这个专题中将对委托做进一步的介绍的,本专题主要对委本质和委托链进行讨论。 一、委托的本质 平时我们很容易使用委托——用C# delegate关键字定义委托,再用new ...