Skip to content

Commit f5d8ecc

Browse files
committed
Switched from obsolete BinaryFormatter to JsonSerializer
1 parent 1fe2c27 commit f5d8ecc

1 file changed

Lines changed: 8 additions & 9 deletions

File tree

src/SerializationExtensions.cs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,24 @@
1-
using System.IO;
2-
using System.Runtime.Serialization.Formatters.Binary;
1+
using System.Text.Json;
32

43
namespace SingleInstanceCore
54
{
65
//For inline serializing and deserializing
76
internal static class SerializationExtensions
87
{
9-
private static readonly BinaryFormatter Formatter = new BinaryFormatter();
8+
private static readonly JsonSerializerOptions serializerOptions = new JsonSerializerOptions()
9+
{
10+
PropertyNamingPolicy = null,
11+
AllowTrailingCommas = true
12+
};
1013

1114
internal static byte[] Serialize<T>(this T obj)
1215
{
13-
using var memoryStream = new MemoryStream();
14-
Formatter.Serialize(memoryStream, obj);
15-
return memoryStream.ToArray();
16+
return JsonSerializer.SerializeToUtf8Bytes(obj, serializerOptions);
1617
}
1718

1819
internal static T Deserialize<T>(this byte[] data)
1920
{
20-
using var memoryStream = new MemoryStream(data);
21-
var obj = Formatter.Deserialize(memoryStream);
22-
return (T)obj;
21+
return JsonSerializer.Deserialize<T>(data, serializerOptions);
2322
}
2423
}
2524
}

0 commit comments

Comments
 (0)