【发布时间】:2011-03-11 16:36:41
【问题描述】:
我应该在 app.config 的 applicationSettings 部分输入什么(在这两种情况下),这样当我阅读 Settings 时,我可以得到以下信息:
- Settings.Default.FooString == null
- Settings.Default.FooString == string.Empty
? 我想这两种情况都没有办法实现,还是我错过了什么?
不幸的是,需要区分字符串值是 null 还是空,因为这个值进入不同的系统,这对这两个系统有不同的决定。 谢谢
更多信息:
Settings.Designer.cs 会在您每次修改设置选项卡时重新生成。 示例生成的设置是:
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string Foo {
get {
return ((string)(this["Foo "]));
}
set {
this["Foo "] = value;
}
}
问题在于生成的 [DefaultSettingValueAttribute("")]。当我使用 [DefaultSettingValueAttribute(null)] 手动更正它时,它可以正常工作,但是,每当我修改设置选项卡上的任何内容时,我都需要这样做,这是不可接受的。
有什么线索吗?
【问题讨论】: