public void VerifyStringPtrSerialization() { var obj = new StringsPair { String1 = { Value = "Test123" }, String2 = { Value = "Test234" }, }; int size = (int)CodegenTypeExtensions.GetSerializedSize(obj); Span <byte> byteBuffer = stackalloc byte[size + 1]; byteBuffer[size] = (byte)'#'; unsafe { fixed(byte *pinnedBuffer = &byteBuffer.GetPinnableReference()) { IntPtr buffer = new IntPtr(pinnedBuffer); CodegenTypeExtensions.Serialize(obj, buffer); MlosUnitTestProxy.StringsPair proxy = default; proxy.Buffer = buffer; Assert.Equal(obj.String1.Value, proxy.String1.Value); Assert.Equal(obj.String2.Value, proxy.String2.Value); } } Assert.Equal((byte)'#', byteBuffer[size]); }