14.使用构造函数链
这是C#里的最后一个关于对象构造的原则,是时候复习一下,一个类型在构造时的整个事件顺序了。你须
要同时 明白一个对象 的操作顺序和默认的预置方法的顺序。你构造过程中,你应该努力使所有的成员变量
只精确的初始化一次。最好的完成这个 目标的方法就是尽快的完成变量的初始化 。这是某个类型第一次构
造一个实例时的顺序:
1、静态变量存储位置0 。
2 、静态变量预置方法执行 。
3、基类 的静态构造函数执行 。
4 、静态构造函数执行 。
5、实例变量存储位置0 。
6、实例变量预置方法执行 。
7、恰当 的基类实例构造函数执行 。
8、实例构造函数执行 。
后续的同样类型的实例从第5步开始,因为类 的预置方法只执行一次。同样,第6和第7步是优化了的,它可
以让编译器在构造函数预置方法上移除重复的指令 。
C# 的编译器保证所有的事物在初始化使用同样的方法来生成。至少,你应该保证在你的类型创建时,对象
占用的所有内存是 已经置0 的。对静态成员和实例成员都是一样的。你的 目标就是确保你希望执行的初始化
代码只执行一次。使用预置方法来初始化简单的资源,使用构造函数来初始化一些具有复杂逻辑结构的成
员。同样,为了减少重复尽可能的组织调用其它的构造函数