public static void Main() { BaseClass obj1=new BaseClass(); CheckReturnedInt(obj1.F1("obj1"), 1); CheckReturnedString(obj1.F2("obj1"), "String returned from BaseClass.F2:obj1"); CheckReturnedString(obj1.NonVirtualFunc(11), "String returned from BaseClass.NonVirtualFunc:11"); Console.WriteLine(""); DerivedClass obj2=new DerivedClass(); CheckReturnedInt(obj2.F1("obj2"), 2); CheckReturnedString(obj2.F2("obj2"), "String returned from DerivedClass.F2:obj2"); CheckReturnedString(obj2.NonVirtualFunc(15), "String returned from DerivedClass.NonVirtualFunc:30"); Console.WriteLine(""); BaseClass objectRef; objectRef = obj1; CheckReturnedInt(objectRef.F1("objectRef is now obj1"), 1); CheckReturnedString(objectRef.F2("objectRef is now obj1"), "String returned from BaseClass.F2:objectRef is now obj1"); CheckReturnedString(objectRef.NonVirtualFunc(11), "String returned from BaseClass.NonVirtualFunc:11"); Console.WriteLine(""); objectRef = obj2; CheckReturnedInt(objectRef.F1("objectRef is now obj2"), 2); CheckReturnedString(objectRef.F2("objectRef is now obj2"), "String returned from DerivedClass.F2:objectRef is now obj2"); CheckReturnedString(objectRef.NonVirtualFunc(15), "String returned from BaseClass.NonVirtualFunc:15"); Console.WriteLine(""); if (failed) { System.Environment.ExitCode = 1; } else { System.Environment.ExitCode = 0; } }
public static void Main() { BaseClass obj1 = new BaseClass(); CheckReturnedInt(obj1.F1("obj1"), 1); CheckReturnedString(obj1.F2("obj1"), "String returned from BaseClass.F2:obj1"); CheckReturnedString(obj1.NonVirtualFunc(11), "String returned from BaseClass.NonVirtualFunc:11"); Console.WriteLine(""); DerivedClass obj2 = new DerivedClass(); CheckReturnedInt(obj2.F1("obj2"), 2); CheckReturnedString(obj2.F2("obj2"), "String returned from DerivedClass.F2:obj2"); CheckReturnedString(obj2.NonVirtualFunc(15), "String returned from DerivedClass.NonVirtualFunc:30"); Console.WriteLine(""); BaseClass objectRef; objectRef = obj1; CheckReturnedInt(objectRef.F1("objectRef is now obj1"), 1); CheckReturnedString(objectRef.F2("objectRef is now obj1"), "String returned from BaseClass.F2:objectRef is now obj1"); CheckReturnedString(objectRef.NonVirtualFunc(11), "String returned from BaseClass.NonVirtualFunc:11"); Console.WriteLine(""); objectRef = obj2; CheckReturnedInt(objectRef.F1("objectRef is now obj2"), 2); CheckReturnedString(objectRef.F2("objectRef is now obj2"), "String returned from DerivedClass.F2:objectRef is now obj2"); CheckReturnedString(objectRef.NonVirtualFunc(15), "String returned from BaseClass.NonVirtualFunc:15"); Console.WriteLine(""); if (failed) { System.Environment.ExitCode = 1; } else { System.Environment.ExitCode = 0; } }