摘要: 反射、特性和动态编程1、访问元数据2、成员调用3、泛型上的反射4、自定义特性5、特性构造器6、具名参数7、预定义特性8、动态编程特性(attribute)是在一个程序集中插入额外的元数据,并将这些元数据同一个编程构造(比如类、方法或者属性)关联起来的一种方式。反射动态编程一、反射可以利用反射做下面这... 阅读全文
posted @ 2015-07-25 00:00 TLXXM 阅读(2106) 评论(0) 推荐(0) 编辑
摘要: 常用集合类及构建自定义集合1、更多集合接口:IList、IDictionary、IComparable、ICollection2、主要集合类:List、IDictionary、SortedDictionary和SortedList Stack、Queue、LinkedList3、提供一个索引运算... 阅读全文
posted @ 2015-07-24 23:00 TLXXM 阅读(2196) 评论(0) 推荐(0) 编辑
摘要: 使用查询表达式的LINQ本章介绍了一种新的语法,查询表达式。1、查询表达式概述2、特点:投射 筛选 排序 Let 分组3、作为方法调用标准查询运算符所实现的查询在功能上与SQL中实现的查询非常相似C#3.0中添加了一个新的语法:查询表达式。本章将介绍新的查询表达式语法,并利用这个语法对上一章的许多... 阅读全文
posted @ 2015-07-24 22:40 TLXXM 阅读(1280) 评论(0) 推荐(0) 编辑
摘要: 支持标准查询运算符的集合接口。System.Linq.Enumeralbe类提供的一些常用的API 来执行集合处理1、匿名类型2、隐匿类型的局部变量3、集合初始化器4、集合5、标准查询运算符本章主要讨论泛型集合接口。非泛型的集合类,待查。一、匿名类型和隐式类型的局部变量声明C#3.0增强。1、匿名类... 阅读全文
posted @ 2015-07-24 22:37 TLXXM 阅读(1528) 评论(0) 推荐(1) 编辑
摘要: 1、多播委托2、事件3、自定义事件在上一章中,所有委托都只支持单一回调。然而,一个委托变量可以引用一系列委托,在这一系列委托中,每个委托都顺序指向一个后续的委托,从而形成了一个委托链,或者称为多播委托*multicast delegate)。使用多播委托,可以通过一个方法对象来调用一个方法链,创建变... 阅读全文
posted @ 2015-07-20 23:56 TLXXM 阅读(8778) 评论(2) 推荐(0) 编辑
摘要: 委托与Lambda表达式1、委托概述2、匿名方法3、语句Lambda4、表达式Lambda5、表达式树一、委托概述相当于C++当中的方法指针,在C#中使用delegate 委托来提供相同的功能,它将方法作为对象封装起来,允许在"运行时"间接地绑定一个方法调用。声明的委托相当于一种自定义的数据类型。1... 阅读全文
posted @ 2015-07-04 00:39 TLXXM 阅读(2985) 评论(0) 推荐(1) 编辑
摘要: 为了促进代码重用,尤其是算法的重用,C#支持一个名为泛型的特性。泛型与模块类相似。泛型使算法和模式只需要实现一交。而不必为每个类型都实现一次。在实例化的时候,传入相应的数据类型便可。注:可空值类型 也是基于泛型实现的。泛型的本质 就是给某些复杂的类型,抽象一套数据类型的别名。然后可以在这复杂类型当中... 阅读全文
posted @ 2015-07-04 00:32 TLXXM 阅读(1419) 评论(0) 推荐(2) 编辑
摘要: 1、多异常类型2、捕捉异常3、常规catch块4、异常处理的指导原则5、定义自定义异常1、多异常类型代码要引发任何异常,只需为要引发的异常实例实例附加关键字throw作为前缀。具体选择的异常类型应该能够最好地说明异常发生的背景。2、捕获异常通过引发一具特定的异常类型,可以让类型本身来识别问题。C#允... 阅读全文
posted @ 2015-06-27 19:45 TLXXM 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 本章要描述如何最终完善类型声明。1、重写Ojbect中的成员重写ToString()默认情况下,在任何对象上调用 ToString()会返回类的完全限定名称,所以有时候需要重载这个函数,来实现更有意义的功能。重写GetHashCode()当想要重写Equals()的时候,就应该重写GetHashCo... 阅读全文
posted @ 2015-06-27 19:42 TLXXM 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 结构、枚举、装箱、拆箱自定义值类型如何利用结构来定义新的值类型,并使之具有与大多数预定义 类型相似的行为,这里的关键在于,任何新定义的值类型都有它们自己的数据和方法。一般用枚举来定义常量值集合。1、值类型所有值类型都派生自类System.ValueType。而所有类都派生自类System.Objec... 阅读全文
posted @ 2015-06-27 19:36 TLXXM 阅读(304) 评论(0) 推荐(0) 编辑