private static unsafe void Test8ByteHFA(ThisCallNative.C *instance) { ThisCallNative.GetSizeFn callback = Marshal.GetDelegateForFunctionPointer <ThisCallNative.GetSizeFn>(instance->vtable->getSize); ThisCallNative.SizeF result = callback(instance); Assert.AreEqual(instance->width, result.width); Assert.AreEqual(instance->height, result.height); }
public unsafe static int Main(string[] args) { try { float width = 1.0f; float height = 2.0f; ThisCallNative.C * instance = ThisCallNative.CreateInstanceOfC(width, height); ThisCallNative.GetSizeFn callback = Marshal.GetDelegateForFunctionPointer <ThisCallNative.GetSizeFn>(instance->vtable->getSize); ThisCallNative.SizeF result = callback(instance); Assert.AreEqual(width, result.width); Assert.AreEqual(height, result.height); } catch (System.Exception ex) { Console.WriteLine(ex); return(101); } return(100); }