示例#1
0
        /// <typeparam name="TEnum">Members should be bit indices, not literal flag values</typeparam>
        /// <param name="useArray">A JSON array is used instead of a single seperated string</param>
        public bool SetFlagsValue <TEnum>(string valueName, BitVector32 value
                                          , TEnum maxValue
                                          , string valueSeperator = ",", bool useArray = true)
            where TEnum : struct, IComparable, IFormattable, IConvertible
        {
            if (value.IsAllClear)
            {
                return(false);
            }

            if (useArray)
            {
                var values = value.ToStrings(maxValue, valueSeperator);
                return(SetValuesForName(valueName, values));
            }
            else
            {
                string values = value.ToString(maxValue, valueSeperator);
                return(SetValueForName(valueName, values));
            }
        }