예제 #1
0
        public bool RemoveElement(EnumElem elem)
        {
            if (elem.ParentEnum != this)
            {
                return(false);
            }

            bool success = elements.Remove(elem);

            Debug.Assert(success);
            values.Remove(elem.Value);
            elem.ParentEnum = null;
            return(true);
        }
예제 #2
0
        public bool AddElement(EnumElem elem)
        {
            if (values.Contains(elem.Value))
            {
                return(false);
            }

            var success = elem.ParentEnum?.RemoveElement(elem);

            Debug.Assert(success != false);
            elem.ParentEnum = this;
            elements.Add(elem);
            values.Add(elem.Value);
            return(true);
        }