Ejemplo n.º 1
0
 static void TestVirtualMethodCallsOnStruct()
 {
     // V2 adds override of ToString
     if (typeof(MyStructWithVirtuals).GetMethod("ToString").DeclaringType == typeof(MyStructWithVirtuals))
     {
         // Make sure the constrained call to ToString doesn't box
         var mystruct = new MyStructWithVirtuals();
         mystruct.ToString();
         Assert.AreEqual(mystruct.X, "Overriden");
     }
 }
Ejemplo n.º 2
0
    static void TestVirtualMethodCalls()
    {
        var o = new MyClass();

        Assert.AreEqual(o.VirtualMethod(), "Virtual method result");

        var iface = (IMyInterface)o;

        Assert.AreEqual(iface.InterfaceMethod(" "), "Interface result");
        Assert.AreEqual(MyClass.TestInterfaceMethod(iface, "+"), "Interface+result");

        // V2 adds override of ToString
        if (typeof(MyStructWithVirtuals).GetMethod("ToString").DeclaringType == typeof(MyStructWithVirtuals))
        {
            // Make sure the constrained call to ToString doesn't box
            var mystruct = new MyStructWithVirtuals();
            mystruct.ToString();
            Assert.AreEqual(mystruct.X, "Overridden");
        }
    }