public static int Main(string[] args) { try { float width = 1.0f; float height = 2.0f; CdeclMemberFunctionNative.C *instance = CdeclMemberFunctionNative.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 TestCLongUnmanagedCallersOnly() { CdeclMemberFunctionNative.C c = CreateCWithUnmanagedCallersOnlyVTable(2.0f, 3.0f); CLong result = CdeclMemberFunctionNative.GetWidthAsLongFromManaged(&c); Assert.AreEqual((nint)c.width, result.Value); }
private static void TestEnumUnmanagedCallersOnly() { CdeclMemberFunctionNative.C c = CreateCWithUnmanagedCallersOnlyVTable(2.0f, 3.0f); CdeclMemberFunctionNative.E result = CdeclMemberFunctionNative.GetEFromManaged(&c); Assert.AreEqual(c.dummy, result); }
private static void Test4ByteNonHFAUnmanagedCallersOnly() { CdeclMemberFunctionNative.C c = CreateCWithUnmanagedCallersOnlyVTable(2.0f, 3.0f); CdeclMemberFunctionNative.IntWrapper result = CdeclMemberFunctionNative.GetHeightAsIntFromManaged(&c); Assert.AreEqual((int)c.height, result.i); }
private static void Test4ByteHFAUnmanagedCallersOnly() { CdeclMemberFunctionNative.C c = CreateCWithUnmanagedCallersOnlyVTable(2.0f, 3.0f); CdeclMemberFunctionNative.Width result = CdeclMemberFunctionNative.GetWidthFromManaged(&c); Assert.AreEqual(c.width, result.width); }
private static void Test8ByteHFAUnmanagedCallersOnly() { CdeclMemberFunctionNative.C c = CreateCWithUnmanagedCallersOnlyVTable(2.0f, 3.0f); CdeclMemberFunctionNative.SizeF result = CdeclMemberFunctionNative.GetSizeFromManaged(&c); Assert.Equal(c.width, result.width); Assert.Equal(c.height, result.height); }