摘要:
理解:重命名就是把一些函数、字段、类、参数的名称 重命名为易于理解,最好是和自身的意义相同的名称。这样更易于理解,也可以减少大量的注释,名字即含义。 详解: 这个重构方法是我经常也是最常用的一种。我们经常给函数、类、字段等命名为一些难以理解,没有实际意义的名称,这样过段时间或者别人看你写的代码的时候 阅读全文
posted @ 2016-03-17 21:50
IT少年
阅读(644)
评论(0)
推荐(0)
摘要:
继续上节的对象深拷贝,上节讲了通过序列化和反序列化来实现深度拷贝,这一节我们来讲述一下第二种深度拷贝的方法,反射。通过反射来实现深度拷贝。 反射主要是在运行时获取对象的元信息,System.Reflection命名空间允许我们在程序运行时来获取对象的信息、创建已存在类的实例,也能够获取对象的属性和执 阅读全文
posted @ 2016-03-17 21:26
IT少年
阅读(1573)
评论(2)
推荐(0)
摘要:
简介: System.Object 几乎是所有的类、结构、委托类型的基类。System.Object有一个MemberwiseClone 的方法来帮助我们创建一个当前对象的实例。 存在的问题: System.Object 提供的MemberwiseClone 方法只是对象的浅拷贝,只能把当前对象的非 阅读全文
posted @ 2016-03-17 18:23
IT少年
阅读(2048)
评论(0)
推荐(0)
摘要:
平时工作中我们经常用foreach来迭代一个集合。比如 基本所有的集合都能够foreach,但是必须要实现IEnumerable接口。IEnumerable接口很简单,就只有一个IEnumerator GetEnumerator() 方法。看这个方法的定义就知道,仅仅是公开了另一个接口IEnumer 阅读全文
posted @ 2016-03-17 15:13
IT少年
阅读(1103)
评论(0)
推荐(0)
摘要:
IEnumerable接口顾名思义就是 可枚举的,可列举的。 接口也很简单,返回一个 枚举器对象 IEnumerator 。 1. IEnumerable 与 IEnumerator IEnumerable只有一个抽象方法:GetEnumerator(),而IEnumerator又是一个迭代器,真正 阅读全文
posted @ 2016-03-17 10:36
IT少年
阅读(855)
评论(0)
推荐(0)
摘要:
我们经常在工作中用到对List,Dictionary对象的Foreach遍历,取出每一项。 其实这个接口很简单,只有一个属性2个方法。 我通过.NET refelefcor查看源码,看到 有2个方法一个属性。 object Current{get;} 就是反回当前数据, MoveNext()方法就是 阅读全文
posted @ 2016-03-17 10:05
IT少年
阅读(279)
评论(0)
推荐(0)