예제 #1
0
        private static string InternalValuesFormat(Type enumType, object value)
        {
            int  length;
            bool isFlags;
            Type underlyingType;
            var  valuesAndNames = GetValuesAndNames(enumType, out length, out isFlags, out underlyingType)
                                  .OrderBy(a => a.ValueAsNumber)
                                  .ToArray();

            if (valuesAndNames.Length == 0)
            {
                return(value.ToString());
            }

            if (Type2.IsSignedNumber(underlyingType))
            {
                return(InternalSignedValuesFormat(enumType, value, valuesAndNames));
            }
            else
            {
                return(InternalUnsignedValuesFormat(enumType, value, valuesAndNames));
            }
        }