using MessagePack; using MessagePack.Resolvers; namespace EasyMQ { public class MessagePackSerializer : ISerializer { private MessagePackSerializerOptions options; public MessagePackSerializer() { options = TypelessContractlessStandardResolver.Options.WithOmitAssemblyVersion(true); } public T Deserialize(ReadOnlyMemory bytes) { try { return MessagePack.MessagePackSerializer.Deserialize(bytes, options); } catch { return Activator.CreateInstance(); } } public byte[] Serialize(ref T value) { var result = MessagePack.MessagePackSerializer.Serialize(value, options); return result; } } }