第一次读取设置(-在设置之前)会引发Object reference not set to an instance of an object.
异常。
在实际情况下无法使用DefaultSettingValueAttribute设置默认值,因为它不是我的 int 示例中的简单类型,并且不能描述为字符串。从文档:
DefaultSettingValueAttribute 要求可以将默认值表示为字符串。
应该如何避免这种情况?
更多信息:
当然,我可以将它包装在一个try-catch
块中,但这应该留给特殊情况,而这是正常的 - 每个第一次使用该应用程序的用户都会遇到这种情况。因为第一次,所以try
每次都 ing 似乎是错误的。
那么正确的解决方案是什么?
这是代码:
public class MySettings : ApplicationSettingsBase
{
[UserScopedSettingAttribute()]
public int MyInt
{
get { return (int)(this["MyInt"]); } // Object reference not set to an instance of an object.
set { this["MyInt"] = value; }
}
}
并这么称呼:
MySettings s = new MySettings();
int i = s.MyInt;