04 2011 档案

摘要:System.Net.NetworkInformation空间提供对网络流量数据、网络地址信息和本地计算机的地址更改通知的访问。该命名空间还包含实现 Ping 实用工具的类。可以使用Ping和相关的类检查是否可通过网络连接到计算机。在查MSDN时无意间翻到这了,发现挺好玩的,MSDN还给了具体例子,... 阅读全文
posted @ 2011-04-24 14:39 Timetombs 阅读(3759) 评论(1) 推荐(0)
摘要:1.特性简介 特性仅仅是为目标元素提供关联的附加信息的一种方式,编译器的工作只是将这些附加信息放到托管模块的元数据中, 大多特性对于编译器来说没有任何特殊的意义,编译器只是检测源代码中的定制特性,然后产生相应的元数据。 FCL中已经带来了很多的预定义特性[System.ParamArrayAttri 阅读全文
posted @ 2011-04-09 18:34 Timetombs 阅读(1379) 评论(0) 推荐(0)
摘要:1.枚举数 枚举数是循环访问其关联集合的对象。它可被视作指向集合中任何元素的可移动的指针。 一个枚举数只能与一个集合关联,但一个集合可以具有多个枚举数。C#的foreach 语句使用枚举数并隐藏操作该枚举数的复杂性。枚举数可用于读取集合中的数据,但不能用于修改基础集合。 集合要支持foreach则需 阅读全文
posted @ 2011-04-08 23:28 Timetombs 阅读(874) 评论(0) 推荐(0)
摘要:1. 可空类型 值类型是不可以为null的[即不可为空值], 假如我们想让它为null呢[比如它对映这数据库中的某个表的某个字段,但是这个字段是null]。 自己实现的话,简单的写一个类,有一个值类型的字段,检查该字段是否初始化,是的话返回该值,否的话返回null。 假如是在C#1.0时,那么每个值 阅读全文
posted @ 2011-04-06 19:23 Timetombs 阅读(1078) 评论(0) 推荐(0)
摘要:1. 局部类型 C#1.0中,一个类只可以放在一个文件中。C#2.0中用了一个关键字"partial", 可以把一个类分成两个部分[即一个类的实现可以在多个文件中]。 编译结果和写在一个文件中完全相同,更多的意义在于工程化的管理。 局部类型值适用与接口、类或者结构中,不支持枚举[一般也没这么大的枚举 阅读全文
posted @ 2011-04-06 11:01 Timetombs 阅读(1610) 评论(0) 推荐(0)
摘要:1.匿名方法应用和机制 先看一段代码(C#1.0): 到了C#2.0时就可以省略掉起到为多委托声明的书写,直接内联方式写MyMethod方法: 难道真的省去了中间的方法了吗?看看IL代码: 发现多了一个《'<function>b__0'》的静态方法,如下是此方法代码: 在delegate关键字后面可 阅读全文
posted @ 2011-04-06 07:23 Timetombs 阅读(883) 评论(0) 推荐(0)
摘要:1. 泛型概述 泛型是一种类型的多态;比如当我们写一个栈或者队列的时候,需要指定其数据类型,int一份代码,string一份代码,object的一份代码, 这些代码除了数据类型不同之外其他大部分都是相同的,根据设计模式的思想,抽象出来变化点封装它, 共同的部分作为共用的代码。这里的变化点就是类型了, 阅读全文
posted @ 2011-04-05 18:16 Timetombs 阅读(801) 评论(0) 推荐(0)
摘要:接口与继承 CLR规定一个类型只能有一个基类型,这种继承成为单继承; 接口继承是指一个类型继承的是接口中的方法签名,而非方法实现,通常称为实现接口; 接口仅仅是含有一组虚方法的抽象类型,不含有任何实现。CLR允许接口包含静态方法、静态字段、常量、以及静态构造器, 但是CLS兼容的接口类型是不允许有任 阅读全文
posted @ 2011-04-05 12:38 Timetombs 阅读(780) 评论(0) 推荐(0)
摘要:事件概述 CLR的事件模型建立在委托的机制之上。定义事件成员的类型允许类型(或者类型的实例)在某些特定事件发生时通知其他对象,事件为类型提供了一下三种能力: 1允许对象登记该事件 2允许对象注销该事件 3允许定义事件的对象维持一个登记对象的集合,并在某些特定的事件反生时通知这些对象 下面是根据一个上 阅读全文
posted @ 2011-04-03 20:48 Timetombs 阅读(909) 评论(0) 推荐(1)
摘要:委托揭秘 编译器和CLR在后台做了很多工作来隐藏委托本身的复杂性,如下一句委托声明: 看看IL: 可以看出它默认继承自System.MulticastDelegate[所有委托都继承此类,MulticastDelegate又继承自System.Delegate],我们声明的public,所以编译器产 阅读全文
posted @ 2011-04-01 20:31 Timetombs 阅读(1416) 评论(0) 推荐(1)