2
我已经实现了我自己的类,从SettingsProvider类继承。如果我检索的值没有被用户设置,即它是程序第一次启动,我试图获取默认值。我看到的问题是,当从SettingsProperty中检索默认值时,它将以字符串形式返回。我试图添加一些代码转换项目,但我转换System.Drawing.Colors时遇到问题,并收到错误“从'System.String'无效转换为'System.Drawing.Color'”。自定义SettingsProvider和检索默认值
这里是我用来获取默认值的代码示例:
private object GetDefaultValue(SettingsProperty setting)
{
if (setting.PropertyType.IsEnum)
return Enum.Parse(setting.PropertyType, setting.DefaultValue.ToString());
// Return the default value if it is set
if (setting.DefaultValue != null)
return Convert.ChangeType(setting.DefaultValue, setting.PropertyType);
else // If there is no default value return the default object
return Activator.CreateInstance(setting.PropertyType);
}
我怎样才能正确的默认值转换为正确的类型?