在我的应用程序启动时,我需要确保用户设置完成后才允许用户选择"运行"按钮启动功能线程。我有一个Init.cs类,它运行各种检查以确保正确设置环境以防止在运行时发生常见错误。大多数这些检查都可以正常工作,但以下情况除外:
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为false(这应该是真的)
我的设置是emtpy。根据我的测试响应,该方法被正确调用,settings.default值为空,但它不会触发:
if(Settings.Default["Email"] == null)
如果我更新了配置设置并在应用程序启动后没有输入任何内容,请点击我的“运行”按钮,再次运行这些检查,它们运行正常。他们只是不在创业公司工作。它就好像那里有东西(我假设' / 0'?)
我发现有关stackoverflow的建议说我正在做的事情。有没有其他方法来检查设置是否为空?对不起,如果我的问题很混乱。
答案 0 :(得分:0)
“设置”中字符串的默认值为空字符串,不为空。 尝试将条件更改为以下内容:
git clone mydir newdir
# see how much disk the new '.git/' dir takes
而不是:
if(string.IsNullOrEmpty(Settings.Default["Email"])