From 55bf37619bde71e8b4e2a1ae1fbdf133da35fb8f Mon Sep 17 00:00:00 2001 From: Pilzinsel64 Date: Fri, 29 Nov 2024 07:58:15 +0100 Subject: [PATCH] make methods virtual --- Pilz.Configuration/Settings.cs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/Pilz.Configuration/Settings.cs b/Pilz.Configuration/Settings.cs index 9a40c87..8dfb9d8 100644 --- a/Pilz.Configuration/Settings.cs +++ b/Pilz.Configuration/Settings.cs @@ -11,9 +11,9 @@ public class Settings : ISettings protected readonly Dictionary settings = []; protected JsonSerializerSettings serializerSettings; - public IReadOnlyCollection Childs => settings.Values; + public virtual IReadOnlyCollection Childs => settings.Values; - public T Get() where T : IChildSettings, ISettingsIdentifier + public virtual T Get() where T : IChildSettings, ISettingsIdentifier { if (settings.TryGetValue(T.Identifier, out var valueExisting) && valueExisting is T settingsExisting) return settingsExisting; @@ -42,7 +42,7 @@ public class Settings : ISettings s.Reset(); } - public string Save(JsonSerializerSettings serializerSettings) + public virtual string Save(JsonSerializerSettings serializerSettings) { this.serializerSettings = serializerSettings; var serializer = JsonSerializer.CreateDefault(serializerSettings); @@ -66,7 +66,7 @@ public class Settings : ISettings return objSettings.ToString(serializer.Formatting); } - public bool Load(JsonSerializerSettings serializerSettings, string raw) + public virtual bool Load(JsonSerializerSettings serializerSettings, string raw) { this.serializerSettings = serializerSettings; @@ -87,4 +87,11 @@ public class Settings : ISettings return true; } + + protected virtual JToken Serialize(object o, JsonSerializer jsonSerializer) + { + using JTokenWriter jTokenWriter = new JTokenWriter(); + jsonSerializer.Serialize(jTokenWriter, o, o.GetType()); + return jTokenWriter.Token; + } } \ No newline at end of file