为什么编译器对第一种情况说“需要一个常量值”...第二种情况工作正常...
switch (definingGroup)
{
case Properties.Settings.Default.OU_HomeOffice:
//do something
break;
case "OU=Home Office":
//do something
break;
default:
break;
}
也尝试过...
switch (definingGroup)
{
case Properties.Settings.Default.OU_HomeOffice.ToString():
//do something
break;
case "OU=Home Office":
//do something
break;
default:
break;
}
...同样的错误
这是 Properties.Setting 代码
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("OU=Home Office")]
public string OU_HomeOffice {
get {
return ((string)(this["OU_HomeOffice"]));
}
}
Properties.Settings.Default.OU_HomeOffice
不是一个常量字符串 - 在编译时已知的东西。 C# switch 语句要求每个 case 都是编译时常量。
(除了其他任何事情之外,这是它知道不会有任何重复项的唯一方法。)
有关更多详细信息,请参阅 C# 3.0 规范的第 8.7.2 节。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)