예제 #1
0
        public bool TryGetValue(object key, out OrderedSet <object> value)
        {
            if (Contains(key))
            {
                value = (OrderedSet <object>) this[key];
                return(true);
            }

            value = null;
            return(false);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }
예제 #4
0
        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));
        }
예제 #5
0
        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);
        }