Tengo un tipo (el Sistema.Tipo) de una enumeración y una cadena que contiene un valor de enumeración en conjunto.

E. g. dado:

enum MyEnum { A, B, C };

He typeof(MyEnum) y «B».

¿Cómo puedo crear MyEnum conjunto de objetos a MyEnum.B?

InformationsquelleAutor | 2008-10-03

3 Comentarios

  1. 16
    MyEnum enumValue = (MyEnum)Enum.Parse(typeof(MyEnum), "B");

    También tiene un insensible a mayúsculas-sobrecarga.

  2. 2

    Yo asumo que usted no tiene acceso a MyEnum, sólo para typeof(MyEnum):

    void foo(Type t)
    {
       Object o = Enum.Parse(t, "B");
    }
  3. 1

    Usted puede hacer esto con los genéricos. He creado una clase de Utilidad para terminar con esto:

    public static class Utils {
        public static T ParseEnum<T>(string value) {
            return (T)Enum.Parse(typeof(T), value, true);
        }

    Luego se invoca como:

    string s = "B";
    MyEnum enumValue = Utils.ParseEnum<MyEnum>(s);

Dejar respuesta

Please enter your comment!
Please enter your name here