При запуске моего приложения мне нужно убедиться, что пользовательские настройки завершены до того, как пользователю разрешено выбрать кнопку «Запустить», чтобы запустить функциональный поток. У меня есть класс Init.cs, который выполняет различные проверки, чтобы убедиться, что среда настроена правильно, чтобы предотвратить появление общих ошибок при запуске. Большинство этих проверок работают нормально, за исключением следующих:C# check Settings.Default при запуске
static void checkConfigHealth()
{
Console.WriteLine("Checking Config");
Settings.Default["nullVal"] = false;
Console.WriteLine(Settings.Default["Email"]); //Test code
if (Settings.Default["Email"] == null)
{
Settings.Default["nullVal"] = true;
}
if (Settings.Default["SQL"] == null)
{
Settings.Default["nullVal"] = true;
}
if (Settings.Default["Server"] == null)
{
Settings.Default["nullVal"] = true;
}
if (Settings.Default["User"] == null)
{
Settings.Default["nullVal"] = true;
}
bool nullVal = Convert.ToBoolean(Settings.Default["nullVal"]);
if (nullVal)
{
Console.WriteLine("Please update the configuartion!");
}
Console.WriteLine(Settings.Default["nullVal"]); //Test code
}
Продолжение, но это основная идея. Когда этот метод вызывается при запуске, я получаю ответы от тестового кода (при условии, что значения settings.default пусты):
«Проверка конфигурации»
// Я получаю пустой здесь, где запись «электронная почта» будет идти (это правильно, потому что я оставил это поле пустым, специально для тестирования)
Ложный
// Говоря, что bool nullVal является ложным (это должно сказать правду)
Мои настройки являются emtpy. По моим тестовых ответов, метод вызывается правильно и значения settings.default пусты, но это не вызывает:
if(Settings.Default["Email"] == null)
Если я обновил настройки конфигурации и не вводить ничего после того, как приложение запущено, а затем нажмите моя кнопка Run, эти проверки снова запускаются, и они работают нормально. Они просто не работают при запуске. Он действует так, как будто там что-то есть (я принимаю '/ 0'?)
Я нашел предложения по stackoverflow, говоря, чтобы делать то, что я делаю. Есть ли другой способ проверить, пусты ли настройки? Извините, если мой вопрос запутан.
К claify: Цель этой проверки установить «nullVal» на «True», если пользователь не имеет обновил настройку (т.е. когда пользователь запускает программу в первый раз или обновляет настройки и оставляет поле). В основной форме, когда пользователь выбирает «Выполнить», приложение смотрит на «nullVal», если оно «True», то следующий поток не запускается, но вместо этого пользователь получает ответ на обновление конфигурации. –