public TypeInfo(Type InType, StringCrc32 InTypeNameCrc, SerializerFunc InSerializer, DeserializerFunc InDeserializer, DeserializeNativeFunc InDeserializeNative) { Type = InType; TypeNameCrc = InTypeNameCrc; Serializer = InSerializer; Deserializer = InDeserializer; DeserializeNative = InDeserializeNative; }
public static byte[] Serialize <T>(T t, SerializerFunc <T> serializerFunc) { var writer = new ArrayBufferWriter <byte>(); var json = new Utf8JsonWriter(writer); serializerFunc(ref json, t); json.Flush(); return(writer.WrittenMemory.ToArray()); }
public static byte[] Serialize <T>(T t, SerializerFunc <T> serializerFunc) { // 2048 get a buffer large enough for all test objects var buffer = ArrayPool <byte> .Shared.Rent(2048); try { var writer = new FixedSizedBufferWriter(buffer); var json = new Utf8JsonWriter(writer); serializerFunc(ref json, t); return(buffer.AsMemory().Slice(0, (int)json.BytesWritten).ToArray()); } finally { ArrayPool <byte> .Shared.Return(buffer); } }
public TypeInfo(Type InType, string InTypeName, SerializerFunc InSerializer, DeserializerFunc InDeserializer, DeserializeNativeFunc InDeserializeNative) : this(InType, new StringCrc32(InTypeName), InSerializer, InDeserializer, InDeserializeNative) { }