public bool TryGetValue(object key, out OrderedSet <object> value) { if (Contains(key)) { value = (OrderedSet <object>) this[key]; return(true); } value = null; return(false); }
public OrderedSet <object> GetValues(object key, bool returnEmptySet = true) { OrderedSet <object> toReturn = null; if (!TryGetValue(key, out toReturn) && returnEmptySet) { toReturn = new OrderedSet <object>(); } return(toReturn); }
public bool ContainsValue(object key, object value) { ArgumentVerifier.CantBeNull(key, "key"); bool toReturn = false; OrderedSet <object> values = null; if (TryGetValue(key, out values)) { toReturn = values.Contains(value); } return(toReturn); }
public new bool Add(object key, object value) { ArgumentVerifier.CantBeNull(key, "key"); OrderedSet <object> container = null; if (!TryGetValue(key, out container)) { container = new OrderedSet <object>(); base.Add(key, container); } return(container.Add(value)); }
public bool Remove(object key, object value) { ArgumentVerifier.CantBeNull(key, "key"); OrderedSet <object> container = null; if (TryGetValue(key, out container)) { if (container.Remove(value)) { if (container.Count <= 0) { Remove(key); } return(true); } } return(false); }