public IEnumerable <IRantModeValue> GetEnumValues() { if (!NativeType.IsEnum) { yield break; } foreach (var value in Enum.GetNames(NativeType)) { yield return(new RantModeValue(Util.CamelToSnake(value), (NativeType.GetMember(value)[0].GetCustomAttributes(typeof(RantDescriptionAttribute), true).First() as RantDescriptionAttribute)?.Description ?? String.Empty)); } }