コード例 #1
0
        /// <exception cref="BadSyntaxException">
        /// The name does not fit to the syntax.
        /// </exception>
        /// <exception cref="ReservedNameException">
        /// The name is a reserved name.
        /// </exception>
        public EnumItem AddValue(string declaration)
        {
            EnumItem value = EnumItem.LoadFromString(declaration);

            for (int i = 0; i < ValueList.Count; i++)
            {
                if (ValueList[i].Name == value.Name)
                {
                    throw new ReservedNameException(value.Name);
                }
            }

            ValueList.Add(value);
            return(value);
        }
コード例 #2
0
        /// <exception cref="BadSyntaxException">
        /// The name does not fit to the syntax.
        /// </exception>
        /// <exception cref="ReservedNameException">
        /// The name is a reserved name.
        /// </exception>
        public EnumItem ModifyValue(EnumItem value, string declaration)
        {
            int index = ValueList.IndexOf(value);

            if (index >= 0)
            {
                EnumItem newValue = EnumItem.LoadFromString(declaration);

                for (int i = 0; i < ValueList.Count; i++)
                {
                    if (i != index && ValueList[i].Name == newValue.Name)
                    {
                        throw new ReservedNameException(newValue.Name);
                    }
                }

                ValueList[index] = newValue;
                return(newValue);
            }
            else
            {
                return(value);
            }
        }
コード例 #3
0
 public void RemoveValue(EnumItem value)
 {
     ValueList.Remove(value);
 }