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)); } }