C#base()构造函数顺序

Xen*_*ate 20 c# constructor base

可能重复:
C#构造函数执行顺序

class Foo
{
    public int abc;
    Foo()
    {
       abc = 3;
    }

}

class Bar : Foo
{
    Bar() : base()
    {
       abc = 2;
    }
}
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,当创建Bar的对象时,BarObject.abc的值是多少?基础构造函数是第一个调用,还是Bar()运行,/ then/base()构造函数?

Pao*_*olo 37

它将是2.构造函数按顺序从基类开始到最后继承的类.

请注意,初始化程序(静态变量和实例变量)的运行方向相反.

完整的序列如下:http://www.csharp411.com/c-object-initialization/