14.使用构造函数链

这是C#里的最后一个关于对象构造的原则,是时候复习一下,一个类型在构造时的整个事件顺序了。你须
    要同时 明白一个对象 的操作顺序和默认的预置方法的顺序。你构造过程中,你应该努力使所有的成员变量
    只精确的初始化一次。最好的完成这个 目标的方法就是尽快的完成变量的初始化 。这是某个类型第一次构
    造一个实例时的顺序:
    1、静态变量存储位置0 。
    2 、静态变量预置方法执行 。
    3、基类 的静态构造函数执行 。
    4 、静态构造函数执行 。
    5、实例变量存储位置0 。
    6、实例变量预置方法执行 。

 7、恰当 的基类实例构造函数执行 。
    8、实例构造函数执行 。
    后续的同样类型的实例从第5步开始,因为类 的预置方法只执行一次。同样,第6和第7步是优化了的,它可
    以让编译器在构造函数预置方法上移除重复的指令 。

    C# 的编译器保证所有的事物在初始化使用同样的方法来生成。至少,你应该保证在你的类型创建时,对象
    占用的所有内存是 已经置0 的。对静态成员和实例成员都是一样的。你的 目标就是确保你希望执行的初始化
    代码只执行一次。使用预置方法来初始化简单的资源,使用构造函数来初始化一些具有复杂逻辑结构的成
    员。同样,为了减少重复尽可能的组织调用其它的构造函数

原文地址:https://www.cnblogs.com/movemoon/p/2736555.html