public static int Main(string[] args) { try { float width = 1.0f; float height = 2.0f; PlatformDefaultMemberFunctionNative.C *instance = PlatformDefaultMemberFunctionNative.CreateInstanceOfC(width, height); Test8ByteHFA(instance); Test4ByteHFA(instance); Test4ByteNonHFA(instance); TestEnum(instance); TestCLong(instance); Test8ByteHFAUnmanagedCallersOnly(); Test4ByteHFAUnmanagedCallersOnly(); Test4ByteNonHFAUnmanagedCallersOnly(); TestEnumUnmanagedCallersOnly(); TestCLongUnmanagedCallersOnly(); } catch (System.Exception ex) { Console.WriteLine(ex); return(101); } return(100); }
private static void Test8ByteHFA(PlatformDefaultMemberFunctionNative.C *instance) { PlatformDefaultMemberFunctionNative.SizeF result = instance->vtable->getSize(instance, 1234); Assert.AreEqual(instance->width, result.width); Assert.AreEqual(instance->height, result.height); }
private static PlatformDefaultMemberFunctionNative.Width GetWidth(PlatformDefaultMemberFunctionNative.C *c) { return(new PlatformDefaultMemberFunctionNative.Width { width = c->width }); }
private static PlatformDefaultMemberFunctionNative.IntWrapper GetHeightAsInt(PlatformDefaultMemberFunctionNative.C *c) { return(new PlatformDefaultMemberFunctionNative.IntWrapper { i = (int)c->height }); }
private static PlatformDefaultMemberFunctionNative.SizeF GetSize(PlatformDefaultMemberFunctionNative.C *c, int unused) { return(new PlatformDefaultMemberFunctionNative.SizeF { width = c->width, height = c->height }); }
private static CLong GetWidthAsLong(PlatformDefaultMemberFunctionNative.C *c) { return(new CLong((nint)c->width)); }
private static PlatformDefaultMemberFunctionNative.E GetE(PlatformDefaultMemberFunctionNative.C *c) { return(c->dummy); }
private static void TestCLong(PlatformDefaultMemberFunctionNative.C *instance) { CLong result = instance->vtable->getWidthAsLong(instance); Assert.AreEqual((nint)instance->width, result.Value); }
private static void TestEnum(PlatformDefaultMemberFunctionNative.C *instance) { PlatformDefaultMemberFunctionNative.E result = instance->vtable->getE(instance); Assert.AreEqual(instance->dummy, result); }
private static void Test4ByteNonHFA(PlatformDefaultMemberFunctionNative.C *instance) { PlatformDefaultMemberFunctionNative.IntWrapper result = instance->vtable->getHeightAsInt(instance); Assert.AreEqual((int)instance->height, result.i); }
private static void Test4ByteHFA(PlatformDefaultMemberFunctionNative.C *instance) { PlatformDefaultMemberFunctionNative.Width result = instance->vtable->getWidth(instance); Assert.AreEqual(instance->width, result.width); }