public void Add(ActionMessageFilter filter, TFilterData data) { if (filter == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(filter)); } _filters.Add(filter, data); if (filter.Actions.Count == 0) { _always.Add(filter); } else { for (int i = 0; i < filter.Actions.Count; ++i) { if (!_actions.TryGetValue(filter.Actions[i], out List <MessageFilter> filters)) { filters = new List <MessageFilter>(); _actions.Add(filter.Actions[i], filters); } filters.Add(filter); } } }
public bool Remove(ActionMessageFilter filter) { if (filter == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(filter)); } if (_filters.Remove(filter)) { if (filter.Actions.Count == 0) { _always.Remove(filter); } else { List <MessageFilter> filters; for (int i = 0; i < filter.Actions.Count; ++i) { filters = _actions[filter.Actions[i]]; if (filters.Count == 1) { _actions.Remove(filter.Actions[i]); } else { filters.Remove(filter); } } } return(true); } return(false); }
public bool Remove(MessageFilter filter) { if (filter == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("filter"); } ActionMessageFilter aFilter = filter as ActionMessageFilter; if (aFilter != null) { return(Remove(aFilter)); } return(false); }