/// <summary> /// 保存指定字典对应的默认设置。如果与默认的设置相同则不保存 /// </summary> /// <param name="wordbookName"></param> /// <param name="matchType"></param> /// <param name="isDynamic"></param> internal static void WriteSetting(string wordbookName, ShowListMatchType matchType, bool isDynamic) { if (String.IsNullOrEmpty(CurrentUserId) || String.IsNullOrEmpty(wordbookName)) { return; } if ((matchType == DefaultMatchSetting.MatchType) && (isDynamic == DefaultMatchSetting.IsDynamic)) { RemoveSetting(wordbookName); } else { // 缓存中不存在,则添加缓存,插入到注册表 if (!CurrentUserSetting.ContainsKey(wordbookName)) { CurrentUserSetting.Add(wordbookName, new ShowListMatchTypeSetting(matchType, isDynamic)); WriteSettingToReg(wordbookName, CurrentUserSetting[wordbookName]); } // 检查与缓存中的数据是否一致,不一致时修改缓存,再更新注册表 else { if ((CurrentUserSetting[wordbookName].IsDynamic != isDynamic) || (CurrentUserSetting[wordbookName].MatchType != matchType)) { CurrentUserSetting[wordbookName].IsDynamic = isDynamic; CurrentUserSetting[wordbookName].MatchType = matchType; WriteSettingToReg(wordbookName, CurrentUserSetting[wordbookName]); } } } }
/// <summary> /// /// </summary> /// <param name="value"></param> public ShowListMatchTypeSetting(string value) : this() { if (!String.IsNullOrEmpty(value)) { // 拆分保存值 string[] settings = value.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); if (settings.Length == 2) { _matchType = (ShowListMatchType)Enum.Parse(typeof(ShowListMatchType), settings[0]); _isDynamic = Convert.ToBoolean(settings[1]); return; } } }
/// <summary> /// /// </summary> /// <param name="matchType"></param> /// <param name="isDynamic"></param> public ShowListMatchTypeSetting(ShowListMatchType matchType, bool isDynamic) { _matchType = matchType; _isDynamic = isDynamic; }