Mega Code Archive

 
Categories / C# / Class Interface
 

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

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;     } }