From b13c15ea40604719eaac4975493de10d7ab01110 Mon Sep 17 00:00:00 2001 From: babaev-an Date: Wed, 27 Mar 2024 17:56:28 +0300 Subject: [PATCH] 20240327 --- anbs_cp/Classes/ActionState.cs | 5 +++-- anbs_cp/Classes/ActionStateMessage.cs | 4 ++-- anbs_cp/Classes/ActionStateSerializable.cs | 3 ++- anbs_cp/Classes/NewtonsoftJsonSerializer.cs | 3 ++- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/anbs_cp/Classes/ActionState.cs b/anbs_cp/Classes/ActionState.cs index 053025b..124baea 100644 --- a/anbs_cp/Classes/ActionState.cs +++ b/anbs_cp/Classes/ActionState.cs @@ -383,14 +383,15 @@ public class ActionState: ISerializable serializableModel.Value = value.Serialize(); // Возвращаю сериализованную модель - return new SysTextSerializer().Serialize(serializableModel); + return new NewtonsoftJsonSerializer().Serialize(serializableModel); } /// public void Deserialize (string json) { // Десериализую строку - ActionStateSerializable itemSerializable = new SysTextSerializer().Deserialize(json) ?? new(); + ActionStateSerializable itemSerializable = + new NewtonsoftJsonSerializer().Deserialize(json) ?? new(); // Создаю модель значения ActionStateSerializableValue value = new(); diff --git a/anbs_cp/Classes/ActionStateMessage.cs b/anbs_cp/Classes/ActionStateMessage.cs index f076b84..4cbbe55 100644 --- a/anbs_cp/Classes/ActionStateMessage.cs +++ b/anbs_cp/Classes/ActionStateMessage.cs @@ -75,13 +75,13 @@ public sealed class ActionStateMessage: ISerializable #region Реализация интерфейса ISerializable /// - public string Serialize () => new SysTextSerializer().Serialize(this); + public string Serialize () => new NewtonsoftJsonSerializer().Serialize(this); /// public void Deserialize (string json) { // Десериализую строку - ActionStateMessage item = new SysTextSerializer().Deserialize(json) ?? new(); + ActionStateMessage item = new NewtonsoftJsonSerializer().Deserialize(json) ?? new(); // Передаю параметры IsCritical = item.IsCritical; diff --git a/anbs_cp/Classes/ActionStateSerializable.cs b/anbs_cp/Classes/ActionStateSerializable.cs index cc351bd..36a814b 100644 --- a/anbs_cp/Classes/ActionStateSerializable.cs +++ b/anbs_cp/Classes/ActionStateSerializable.cs @@ -1,4 +1,5 @@ -namespace anbs_cp.Classes; +// ReSharper disable CollectionNeverUpdated.Global +namespace anbs_cp.Classes; /// /// Сериализованная модель класса, хранящего в себе состояния действия diff --git a/anbs_cp/Classes/NewtonsoftJsonSerializer.cs b/anbs_cp/Classes/NewtonsoftJsonSerializer.cs index b6da70d..96de5bd 100644 --- a/anbs_cp/Classes/NewtonsoftJsonSerializer.cs +++ b/anbs_cp/Classes/NewtonsoftJsonSerializer.cs @@ -11,5 +11,6 @@ public class NewtonsoftJsonSerializer: ISerializer public string Serialize (T data) => JsonConvert.SerializeObject(data); /// - public T? Deserialize (string json) => JsonConvert.DeserializeObject(json); + public T? Deserialize(string json) => JsonConvert.DeserializeObject(json, + new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); } \ No newline at end of file