Преобразовать. ChangeType и преобразовывающий в перечисления?

Я полностью отключил MAVEN и Spring. И мне пришлось добавить следующие банки для правильной работы моей среды.

  • spring-aop-4.0.3.RELEASE.jar
  • spring-beans-4.0.3 .RELEASE.jar (трудно найти это исправление, другие org.springframework & lt; 3.versions> просто не работают.
  • spring-context-4.0.3.RELEASE.jar
  • spring-core-4.0.3.RELEASE.jar
  • spring-expression-4.0.3.RELEASE.jar
  • spring-web-4.0.3.RELEASE.jar
  • spring-webmvc-4.0.3.RELEASE.jar
  • jstl-1.2.jar

Хуже всего было jstl-api-1.2.jar и javax-servlet.jsp.jst-api-1.2.1.jar Они просто не работали.

`jstl-1.2.jar работал хорошо.

62
задан angry person 3 February 2009 в 13:28
поделиться

1 ответ

Enum.ToObject(.... то, что Вы ищете!

C#

StringComparison enumValue = (StringComparison)Enum.ToObject(typeof(StringComparison), 5);

VB.NET

Dim enumValue As StringComparison = CType([Enum].ToObject(GetType(StringComparison), 5), StringComparison)

, Если Вы делаете много Перечисления, преобразовывающего попытку с помощью следующего класса, это сохранит Вас много кода.

public class Enum<EnumType> where EnumType : struct, IConvertible
{

    /// <summary>
    /// Retrieves an array of the values of the constants in a specified enumeration.
    /// </summary>
    /// <returns></returns>
    /// <remarks></remarks>
    public static EnumType[] GetValues()
    {
        return (EnumType[])Enum.GetValues(typeof(EnumType));
    }

    /// <summary>
    /// Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object.
    /// </summary>
    /// <param name="name"></param>
    /// <returns></returns>
    /// <remarks></remarks>
    public static EnumType Parse(string name)
    {
        return (EnumType)Enum.Parse(typeof(EnumType), name);
    }

    /// <summary>
    /// Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object.
    /// </summary>
    /// <param name="name"></param>
    /// <param name="ignoreCase"></param>
    /// <returns></returns>
    /// <remarks></remarks>
    public static EnumType Parse(string name, bool ignoreCase)
    {
        return (EnumType)Enum.Parse(typeof(EnumType), name, ignoreCase);
    }

    /// <summary>
    /// Converts the specified object with an integer value to an enumeration member.
    /// </summary>
    /// <param name="value"></param>
    /// <returns></returns>
    /// <remarks></remarks>
    public static EnumType ToObject(object value)
    {
        return (EnumType)Enum.ToObject(typeof(EnumType), value);
    }
}

Теперь вместо того, чтобы писать (StringComparison)Enum.ToObject(typeof(StringComparison), 5); можно просто записать Enum<StringComparison>.ToObject(5);.

85
ответ дан Peter 7 November 2019 в 13:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: