/// <summary> /// The add rule. /// </summary> /// <param name="newRule"> /// The new rule. /// </param> /// <exception cref="ArgumentNullException"> /// </exception> public void AddRule(IReplaceRule newRule) { CodeContracts.VerifyNotNull(newRule, "newRule"); lock (this._rulesLock) { this._rulesList.Add(newRule); this._needSort = true; } }
/// <summary> /// This clone method is a Deep Clone -- including all data. /// </summary> /// <returns> /// The clone. /// </returns> public object Clone() { var copyReplaceRules = new ProcessReplaceRules(); // move the rules over... var ruleArray = new IReplaceRule[this._rulesList.Count]; this._rulesList.CopyTo(ruleArray); copyReplaceRules._rulesList.InsertRange(0, ruleArray); copyReplaceRules._needSort = this._needSort; return(copyReplaceRules); }
/// <summary> /// The add rule. /// </summary> /// <param name="newRule"> /// The new rule. /// </param> /// <exception cref="ArgumentNullException"> /// </exception> public void AddRule(IReplaceRule newRule) { if (newRule == null) { throw new ArgumentNullException("newRule"); } lock (this._rulesLock) { this._rulesList.Add(newRule); this._needSort = true; } }
/// <summary> /// This clone method is a Deep Clone -- including all data. /// </summary> /// <returns> /// The clone. /// </returns> public object Clone() { var copyReplaceRules = new ProcessReplaceRules(); // move the rules over... var ruleArray = new IReplaceRule[this._rulesList.Count]; this._rulesList.CopyTo(ruleArray); copyReplaceRules._rulesList.InsertRange(0, ruleArray); copyReplaceRules._needSort = this._needSort; return copyReplaceRules; }