public void ReplaceRule(int index, HandleRule replacement) { BeforeReplace?.Invoke(this, replacement); var removingItem = rulesStorage[index]; rulesStorage.Insert(index, replacement); rulesStorage.Remove(item: removingItem); }
public void ReplaceRule(HandleRule oldRule, HandleRule newRule) { BeforeReplace?.Invoke(this, newRule); int index = rulesStorage.IndexOf(oldRule); if (index < 0) { index = rulesStorage.Count; } rulesStorage.Insert(index, newRule); rulesStorage.Remove(oldRule); }