Здравствуйте, в моём проекте есть 2 файла отвечающие за работу с файловой системой, при запуске проекта вылетает ошибка, я не понимаю, как оно создаёт переполнение и вообще как это исправить
public class UserSettings
{
public string? name { get; set; }
public string? nickname { get; set; }
public string? first_key { get; set; }
public string? second_key { get; set; }
private string path_direcrory = @"\settings\user";
private string path_fileSettings = @"\settings\user\user.json";
public UserSettings()
{
DirectoryInfo dir = new DirectoryInfo(path_direcrory);
if (!dir.Exists)
dir.Create();
if (!File.Exists(path_fileSettings))
{
Serializer();
return;
}
Deserialize();
}
private void Serializer()
{
using (StreamWriter stream = new StreamWriter(path_fileSettings))
{
string obj = JsonSerializer.Serialize(this);
stream.Write(obj);
}
}
private void Deserialize()
It needs optimization
{
string obj;
using (StreamReader stream = File.OpenText(path_fileSettings))
{
obj = stream.ReadToEnd();
}
#pragma warning disable CS8600 // Преобразование литерала, допускающего значение NULL или возможного значения NULL в тип, не допускающий значение NULL.
UserSettings settings = JsonSerializer.Deserialize<UserSettings>(obj);
#pragma warning restore CS8600 // Преобразование литерала, допускающего значение NULL или возможного значения NULL в тип, не допускающий значение NULL.
name = settings.name;
nickname = settings.nickname;
first_key = settings.first_key;
second_key = settings.second_key;
}
public class Settings
{
public UserSettings.UserSettings userSettings;
public Settings() {
DirectoryInfo dir = new DirectoryInfo("/settings");
if (!dir.Exists)
dir.Create();
userSettings = new UserSettings.UserSettings();
}
}