/// <summary> /// 建立新增的「組態記錄」。 /// </summary> public ConfigurationRecord(string name) { BaseData = new AutoDictionary(); PreviousData = null; //新格式的話,保持此資料是 Null。 Namespace = name; EditAction = 1; //新增 }
/// <summary> /// 建立可更新的「組態記錄」。 /// </summary> /// <param name="data">組態的 Xml 資料。</param> public ConfigurationRecord(string name, XmlElement data) { if (data == null) { throw new ArgumentException("組態的 Xml 資料不可以是 Null。"); } Namespace = name; EditAction = 2; //修改 BaseData = null; //舊的格式的話,保持此資料是 Null。 if (data.LocalName != RootName) { PreviousData = data.CloneNode(true) as XmlElement; } else { BaseData = new AutoDictionary(data.SelectNodes(RecordName), "Name", false); } }
/// <summary> /// 比較兩個 AutoDictionary 是否相同。 /// </summary> /// <param name="obj">要比較的 AutoDictionary。</param> /// <returns></returns> public bool Equals(AutoDictionary obj) { if (BaseDictionary.Count != obj.BaseDictionary.Count) { return(false); } foreach (string each in BaseDictionary.Keys) { if (obj.BaseDictionary.ContainsKey(each)) { if (obj.BaseDictionary[each] != BaseDictionary[each]) { return(false); } } else { return(false); } } return(true); }
private AutoDictionary(AutoDictionary autoDic) { BaseDictionary = new Dictionary <string, string>(autoDic.BaseDictionary); }