Untitled
unknown
csharp
a year ago
2.3 kB
4
Indexable
var class1 = new Class1<string>(); //Class1_static_ctor //Parent_static_ctor //Parent_instance_ctor //Class1_instance_ctor Console.WriteLine(); var class2 = new Class2(); //Class2_static_ctor //Parent_instance_ctor //Class2_instance_ctor Console.WriteLine(); var class3 = new Class3<int>(); //Parent_static_ctor //Parent_instance_ctor var class4 = new Class4(); Console.WriteLine(); class1.Print(); //Class1 class2.Print(); //Class2 Console.WriteLine(); ((Parent<string>)class1).Print(); //Class1 ((Parent<string>)class2).Print(); //Parent Console.WriteLine(); ((RootParent)class1).Print(); //RootParent ((RootParent)class2).Print(); //RootParent Console.WriteLine(); ((Interface)class1).Print(); //Class1 ((Interface)class2).Print(); //Class2 ((Interface)class3).Print(); //Parent ((Interface)class4).Print(); //Interface Console.WriteLine(); ((RootInterface)class1).Print(); //Class1 ((RootInterface)class2).Print(); //Class2 ((RootInterface)class3).Print(); //Parent ((RootInterface)class4).Print(); //RootInterface Console.WriteLine("Hello, World!"); //Parent_static_ctor public class Class1<T> : Parent<T>, Interface { public Class1() => Console.WriteLine("Class1_instance_ctor"); static Class1() => Console.WriteLine("Class1_static_ctor"); public override void Print() => Console.WriteLine("Class1"); } public class Class2 : Parent<string>, Interface { public Class2() => Console.WriteLine("Class2_instance_ctor"); static Class2() => Console.WriteLine("Class2_static_ctor"); public new void Print() => Console.WriteLine("Class2"); } public class Class3<T> : Parent<T>, Interface; public class Class4 : Interface; public class Parent<T> : RootParent { public Parent() => Console.WriteLine("Parent_instance_ctor"); static Parent() => Console.WriteLine("Parent_static_ctor"); public virtual new void Print() => Console.WriteLine("Parent"); } public class RootParent { public virtual void Print() => Console.WriteLine("RootParent"); } public interface Interface : RootInterface { public new void Print() => Console.WriteLine("Interface"); } public interface RootInterface { public void Print() => Console.WriteLine("RootInterface"); }
Editor is loading...
Leave a Comment