/// <summary> /// Get the value text of an enum item from the specified value source. /// </summary> /// <param name="memberInfo">The <see cref="MemberInfo" /> object represented as an enum item.</param> /// <param name="valueSource">The value source for the enum item.</param> /// <returns>The text retrieved from the <paramref name="memberInfo" /> definition.</returns> /// <exception cref="ArgumentException">The value of <paramref name="valueSource" /> is not a valid enum item.</exception> public static string GetValueForMember(this MemberInfo memberInfo, EnumOptionValueSource valueSource) { switch (valueSource) { case EnumOptionValueSource.Value: return(((int)Enum.Parse(memberInfo.DeclaringType, memberInfo.Name)).ToString("D", CultureInfo.InvariantCulture)); case EnumOptionValueSource.Name: return(memberInfo.Name); default: throw new ArgumentException("The argument value is not a valid enum item.", nameof(valueSource)); } }
/// <summary> /// Get the value text of an enum item from the specified value source. /// </summary> /// <param name="memberInfo">The <see cref="MemberInfo" /> object represented as an enum item.</param> /// <param name="valueSource">The value source for the enum item.</param> /// <returns>The text retrieved from the <paramref name="memberInfo" /> definition.</returns> /// <exception cref="ArgumentException">The value of <paramref name="valueSource" /> is not a valid enum item.</exception> public static string GetValueForMember(this MemberInfo memberInfo, EnumOptionValueSource valueSource) { switch (valueSource) { case EnumOptionValueSource.Value: return ((int) Enum.Parse(memberInfo.DeclaringType, memberInfo.Name)).ToString("D", CultureInfo.InvariantCulture); case EnumOptionValueSource.Name: return memberInfo.Name; default: throw new ArgumentException("The argument value is not a valid enum item.", nameof(valueSource)); } }