static void TestGenericVirtualMethod() { var o = new MyGeneric <String, Object>(); Assert.AreEqual(o.GenericVirtualMethod <Program, IEnumerable <String> >(), "System.StringSystem.ObjectProgramSystem.Collections.Generic.IEnumerable`1[System.String]"); }
static void TestGenericOverStruct() { var o1 = new MyGeneric <String, MyGrowingStruct>(); Assert.AreEqual(o1.GenericVirtualMethod <MyChangingStruct, IEnumerable <Program> >(), "System.StringMyGrowingStructMyChangingStructSystem.Collections.Generic.IEnumerable`1[Program]"); var o2 = new MyChildGeneric <MyChangingStruct>(); Assert.AreEqual(o2.MovedToBaseClass <MyGrowingStruct>(), typeof(List <MyGrowingStruct>).ToString()); Assert.AreEqual(o2.ChangedToVirtual <MyGrowingStruct>(), typeof(List <MyGrowingStruct>).ToString()); }
static void TestGenericVirtualMethod() { var o = new MyGeneric<String, Object>(); Assert.AreEqual(o.GenericVirtualMethod<Program, IEnumerable<String>>(), "System.StringSystem.ObjectProgramSystem.Collections.Generic.IEnumerable`1[System.String]"); }