From 711986357a88ee7ddbc629f2f53e51c8c61c8172 Mon Sep 17 00:00:00 2001 From: Archangel Date: Fri, 14 Feb 2025 12:51:07 +0100 Subject: [PATCH] Clone using a MemoryStream --- Libraries/Core/Utils/Cloners/JsonCloner.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Libraries/Core/Utils/Cloners/JsonCloner.cs b/Libraries/Core/Utils/Cloners/JsonCloner.cs index b571554c..4cb710d0 100644 --- a/Libraries/Core/Utils/Cloners/JsonCloner.cs +++ b/Libraries/Core/Utils/Cloners/JsonCloner.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using SptCommon.Annotations; namespace Core.Utils.Cloners; @@ -5,15 +6,14 @@ namespace Core.Utils.Cloners; [Injectable] public class JsonCloner : ICloner { - protected JsonUtil _jsonUtil; - - public JsonCloner(JsonUtil jsonUtil) - { - _jsonUtil = jsonUtil; - } - public T? Clone(T? obj) { - return _jsonUtil.Deserialize(_jsonUtil.Serialize(obj)); + using (MemoryStream ms = new()) + { + JsonSerializer.Serialize(ms, obj); + ms.Seek(0, SeekOrigin.Begin); + + return JsonSerializer.Deserialize(ms); + } } }