C# 在启动时检查 Settings.Default
C# check Settings.Default on startup
在我的应用程序启动时,我需要确保在允许用户使用 select "Run" 按钮启动功能线程之前完成用户设置。我有一个 Init.cs class,其中 运行 进行各种检查以确保环境设置正确,以防止在 运行ning 上发生常见错误。大多数检查工作正常,但以下情况除外:
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 值为空):
"Checking Config"
//我在 'email' 条目所在的位置出现空白(这是正确的,因为我故意将其留空以进行测试)
False
//说bool nullVal是false(这个应该说是true)
我的设置是空的。根据我的测试响应,该方法被正确调用并且 settings.default 值为空,但不会触发:
if(Settings.Default["Email"] == null)
如果我更新了配置设置并且在应用程序启动后不输入任何内容,然后点击我的 运行 按钮,这些检查再次 运行,它们工作正常。他们只是在启动时不工作。它就像那里有东西一样(我假设'/0'?)
我在 Whosebug 上找到了关于做我正在做的事情的建议。还有另一种方法可以检查设置是否为空吗?对不起,如果我的问题令人困惑。
设置中字符串的默认值为空字符串,而不是 null。
尝试将条件更改为以下内容:
if(string.IsNullOrEmpty(Settings.Default["Email"])
而不是:
if(Settings.Default["Email"] == null)
在我的应用程序启动时,我需要确保在允许用户使用 select "Run" 按钮启动功能线程之前完成用户设置。我有一个 Init.cs class,其中 运行 进行各种检查以确保环境设置正确,以防止在 运行ning 上发生常见错误。大多数检查工作正常,但以下情况除外:
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 值为空):
"Checking Config"
//我在 'email' 条目所在的位置出现空白(这是正确的,因为我故意将其留空以进行测试)
False
//说bool nullVal是false(这个应该说是true)
我的设置是空的。根据我的测试响应,该方法被正确调用并且 settings.default 值为空,但不会触发:
if(Settings.Default["Email"] == null)
如果我更新了配置设置并且在应用程序启动后不输入任何内容,然后点击我的 运行 按钮,这些检查再次 运行,它们工作正常。他们只是在启动时不工作。它就像那里有东西一样(我假设'/0'?)
我在 Whosebug 上找到了关于做我正在做的事情的建议。还有另一种方法可以检查设置是否为空吗?对不起,如果我的问题令人困惑。
设置中字符串的默认值为空字符串,而不是 null。 尝试将条件更改为以下内容:
if(string.IsNullOrEmpty(Settings.Default["Email"])
而不是:
if(Settings.Default["Email"] == null)