public void NonBlittableStructWithFree() { var stringContainer = new StringContainer_V1 { str1 = "Foo", str2 = "Bar" }; NativeExportsNE.V1.DeepDuplicateStrings(stringContainer, out var stringContainer2); Assert.Equal(stringContainer, stringContainer2); }
public void NonBlittableStructRef() { var stringContainer = new StringContainer_V1 { str1 = "Foo", str2 = "Bar" }; var expected = new StringContainer_V1 { str1 = ReverseUTF8Bytes(stringContainer.str1), str2 = ReverseUTF8Bytes(stringContainer.str2) }; var stringContainerCopy = stringContainer; NativeExportsNE.V1.ReverseStrings(ref stringContainerCopy); Assert.Equal(expected, stringContainerCopy); }
public static partial void ReverseStrings(ref StringContainer_V1 strings);
public static partial void DeepDuplicateStrings(StringContainer_V1 strings, out StringContainer_V1 pStringsOut);