简短版
Settings settings = new Settings();
settings["name1"] = Settings.Default.Properties["name1"].DefaultValue;
失败。似乎DefaultValue
始终只是string
。
长版
我正在尝试创建一个应用程序“重置设置”按钮,但我不能使用内置的Reset
方法,因为我不想在用户确定之前提交它。所以我试图使用以下代码“克隆”设置:
Settings settings = new Settings();
foreach (SettingsProperty p in Settings.Default.Properties)
settings[p.Name] = Settings.Default.Properties[p.Name].DefaultValue;
return settings;
但是我得到了“设置属性'Setting1'是不兼容的类型。”错误。 虽然当我使用这段代码做一个简单的克隆时:
Settings settings = new Settings();
foreach (SettingsProperty p in input.Properties)
settings[p.Name] = input[p.Name];//Notice the absence of "Properties" after "input".
return settings;
它工作正常。
那么如何“克隆”默认的Settings
?