From d314835c533c1cc6db0d4ba6dbcb209ea0fcfa67 Mon Sep 17 00:00:00 2001 From: ArchLeaders Date: Mon, 10 Jun 2024 14:06:00 -0700 Subject: [PATCH] Always initialize validators --- src/ConfigFactory.Core/ConfigModule.cs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/ConfigFactory.Core/ConfigModule.cs b/src/ConfigFactory.Core/ConfigModule.cs index ed22118..e93f49b 100644 --- a/src/ConfigFactory.Core/ConfigModule.cs +++ b/src/ConfigFactory.Core/ConfigModule.cs @@ -73,14 +73,11 @@ void IConfigModule.Load(ref IConfigModule module) public virtual void Load(ref T module) { - if (!File.Exists(module.LocalPath)) { - module.Save(); - return; + if (File.Exists(module.LocalPath)) { + using FileStream fs = File.OpenRead(module.LocalPath); + module = JsonSerializer.Deserialize(fs)!; } - using FileStream fs = File.OpenRead(module.LocalPath); - module = JsonSerializer.Deserialize(fs)!; - foreach (var (name, (property, _)) in module.Properties) { typeof(T).GetMethod($"On{name}Changed", BindingFlags.NonPublic | BindingFlags.Instance)? .Invoke(module, [property.GetValue(module)]);