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);
}
我怎樣才能正確的默認值轉換爲正確的類型?