public class MyDeriveClass:MyBaseClass{public MyDeriveClass():base(){}int derive_int = 1;}public class MyBaseClass{public MyBaseClass(){}int base_int = 1;}var cls = new MyDeriveClass(); 
 调用顺序如下:
- derive_int = 1;
- base_int = 1;
- MyBaseClass();
-  MyDeriveClass(); 考虑MyBaseClass()中有一个属性A为abstract 
 在MyBaseClass()中可以直接操作这个属性A,
 只需要(也应该如此设计)DeriveClass做好override你需要注意的问题是: 在Field的声明处初始化 和 在构造函数中初始化 的顺序是不一样的。 
 在Field的声明处初始化 总是比 构造函数要早执行,且早于基类的Field的声明处初始化和基类的构造函数。