constructor initializers are called bottom-up but the constructors are invoked top-down starting with the constructor in the base class : Constructor « Class Interface « C# / C Sharp






constructor initializers are called bottom-up but the constructors are invoked top-down starting with the constructor in the base class

 

using System;
public class Starter {
    public static void Main() {
        XClass obj = new XClass();
    }
}

public class MyClass {
    public MyClass(int param) {
        Console.WriteLine("MyClass constructor");
    }
}

public class YClass : MyClass {
    public YClass(int param) : base(YClass.MethodA()) {
        Console.WriteLine("YClass constructor");
    }

    public static int MethodA() {
        Console.WriteLine("YClass constructor initializer");
        return 0;
    }
}

public class XClass : YClass {
    public XClass() : base(XClass.MethodA()) {
        Console.WriteLine("XClass constructor");
    }

    public static new int MethodA() {
        Console.WriteLine("XClass constructor initializer");
        return 0;
    }
}

 








Related examples in the same category

1.Check the parameter in construtor
2.Constructor overloading 3
3.Add a constructor to TriangleAdd a constructor to Triangle
4.Add constructors to TwoDShapeAdd constructors to TwoDShape
5.Add more constructors to TwoDShapeAdd more constructors to TwoDShape
6.Demonstrate an overloaded constructorDemonstrate an overloaded constructor
7.Demonstrate invoking a constructor through thisDemonstrate invoking a constructor through this
8.Illustrates how to define a constructorIllustrates how to define a constructor
9.Shows the order in which constructors and destructors are called in a C# programShows the order in which constructors and destructors are called in a C# program
10.Illustrates overloaded constructorsIllustrates overloaded constructors
11.Illustrates a copy constructorIllustrates a copy constructor
12.A simple constructorA simple constructor
13.A parameterized constructorA parameterized constructor
14.Add a constructor to BuildingAdd a constructor to Building
15.C# Class Constructor Overloading