예제 #1
0
        /// <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));
            }
        }
예제 #2
0
		/// <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));
			}
		}