public unsafe void AddressOfStructTest() { var astruct = new IntStrcut { Value = 255 }; var ptr = Native.AddressOf(ref astruct); Assert.Equal((IntPtr)(&astruct), ptr); }
public unsafe void AddressOfWrappedStructTest() { var astruct = new IntStrcut { Value = 255 }; var ptr = Native.AddressOf(ref astruct); var wrappedPtr = Native.AddressOf((object)astruct, false); Assert.Equal((IntPtr)(&astruct), ptr); Assert.NotEqual((IntPtr)(&astruct), wrappedPtr); }
public void ForStructTest() { var astruct = new IntStrcut { Value = 1 }; astruct.For(x => x.Value = 2); Assert.Equal(1, astruct.Value); astruct.Value = 2; Assert.Equal(2, astruct.Value); }