make methods virtual

This commit is contained in:
Pilzinsel64
2024-11-29 07:58:15 +01:00
parent a3a256395f
commit 55bf37619b

View File

@@ -11,9 +11,9 @@ public class Settings : ISettings
protected readonly Dictionary<string, IChildSettings> settings = []; protected readonly Dictionary<string, IChildSettings> settings = [];
protected JsonSerializerSettings serializerSettings; protected JsonSerializerSettings serializerSettings;
public IReadOnlyCollection<IChildSettings> Childs => settings.Values; public virtual IReadOnlyCollection<IChildSettings> Childs => settings.Values;
public T Get<T>() where T : IChildSettings, ISettingsIdentifier public virtual T Get<T>() where T : IChildSettings, ISettingsIdentifier
{ {
if (settings.TryGetValue(T.Identifier, out var valueExisting) && valueExisting is T settingsExisting) if (settings.TryGetValue(T.Identifier, out var valueExisting) && valueExisting is T settingsExisting)
return settingsExisting; return settingsExisting;
@@ -42,7 +42,7 @@ public class Settings : ISettings
s.Reset(); s.Reset();
} }
public string Save(JsonSerializerSettings serializerSettings) public virtual string Save(JsonSerializerSettings serializerSettings)
{ {
this.serializerSettings = serializerSettings; this.serializerSettings = serializerSettings;
var serializer = JsonSerializer.CreateDefault(serializerSettings); var serializer = JsonSerializer.CreateDefault(serializerSettings);
@@ -66,7 +66,7 @@ public class Settings : ISettings
return objSettings.ToString(serializer.Formatting); return objSettings.ToString(serializer.Formatting);
} }
public bool Load(JsonSerializerSettings serializerSettings, string raw) public virtual bool Load(JsonSerializerSettings serializerSettings, string raw)
{ {
this.serializerSettings = serializerSettings; this.serializerSettings = serializerSettings;
@@ -87,4 +87,11 @@ public class Settings : ISettings
return true; return true;
} }
protected virtual JToken Serialize(object o, JsonSerializer jsonSerializer)
{
using JTokenWriter jTokenWriter = new JTokenWriter();
jsonSerializer.Serialize(jTokenWriter, o, o.GetType());
return jTokenWriter.Token;
}
} }