using System.Text; using Newtonsoft.Json; namespace Vbdsm.Settings { public class AppSetting { public List Servers { get; set; } = new List(); public int MaxErrorCount { get; set; } = 10; public bool UseInnerTerminal { get; set; } = false; public List Terminals { get; set; } = new List(); private static AppSetting? _instance; public static AppSetting Instance => GetInstance(); private static AppSetting GetInstance() { if (_instance == null) { using var fileStream = new FileStream("appsettings.json", FileMode.Open, FileAccess.Read); int n = (int)fileStream.Length; byte[] bt = new byte[n]; var read = fileStream.Read(bt, 0, n); fileStream.Close(); string data = Encoding.UTF8.GetString(bt, 0, n); _instance = JsonConvert.DeserializeObject(data) ?? new AppSetting(); } return _instance; } } }