调用构造函数的顺序c#中的继承情况

Elj*_*jay 11 .net c# c#-4.0

我只是在C#中读取继承,其中我遇到了构造函数,并且编写了构造函数按派生顺序执行.它是什么意思?将首先调用该基类构造函数或派生类.

Jun*_*tes 16

首先调用基类构造函数.参见以下示例

// Demonstrate when constructors are called.
using System;

// Create a base class.
class A {
    public A() {
        Console.WriteLine("Constructing A.");
    }
}

// Create a class derived from A.
class B : A {
    public B() {
        Console.WriteLine("Constructing B.");
    }
}

// Create a class derived from B.
class C : B {
    public C() {
        Console.WriteLine("Constructing C.");
    }
}

class OrderOfConstruction {
    static void Main() {
        C c = new C();
    }
}

The output from this program is shown here:

Constructing A.
Constructing B.
Constructing C.
Run Code Online (Sandbox Code Playgroud)