/// <summary> Consigue el nombre enum en función del valor del enum /// </summary> <typeparam name="T"></typeparam> <param name="key"></param> /// <returns></returns> cadena estática pública GetEnumNameByKey<T>(int key) { nombre de la cadena Str = cadena. Vacío; tipo var = tipode(T); nombreFuerza = Enum.NombreObtener(tipo, clave); return nameStr; }
/// <summary> Consigue el nombre enum en función del valor del enum /// </summary> <typeparam name="T"></typeparam> <param name="t"></param> /// <returns></returns> cadena estática pública GetEnumNameByKey<T>(T t) { nombre de la cadena Str = cadena. Vacío; tipo var = tipode(T); nombreFuerza = Enum.NombreDeObter(tipo, t); return nameStr; }
/// <summary> Las cadenas se convierten en tipos enum /// </summary> <typeparam name="T"></typeparam> <param name="str"></param> <param name="t"></param> /// <returns></returns> bool estático privado StringConvertToEnum<T>(string str, out T t) donde T : new() { var obj = falso; t = nuevo T(); Prueba { t = (T)Enum. Analizar(tipode(T), str); obj = verdadero; } catch (excepción ex) { obj = falso; }
Obj; }
/// <summary> Consigue una colección de nombres de enum /// </summary> <typeparam name="T"></typeparam> /// <returns></returns> cadena estática pública[] GetNamesArr<T>() { return Enum.GetNames(typeof(T)); }
/// <summary> Convertir enums en colecciones de diccionario /// </summary> <typeparam name="T"> enumerar tipos</typeparam> /// <returns></returns> Diccionario estático público<cadena, int> GetEnumDic<T>() {
Dictionary<string, int> resultList = nuevo Dictionary<string, int>(); tipo tipo = tipode(T); var strList = GetNamesArr<T>(). ToList(); foreach (clave de cadena en strList) { string val = Enum.Format(type, Enum.Parse(type, key), "d"); resultList.Add(key, int. Parse(val)); } return resultList; }
/// <summary> Obtén una descripción de los parámetros /// </summary> <typeparam name="T"></typeparam> <param name="t"></param> /// <returns></returns> cadena estática pública <T>GetDescriptionByKey(T t) { var type = t.GetType(); FieldInfo fieldInfo = tipo. GetField(GetEnumNameByKey<T>(t)); AtributoDescripciónAtributo = Atributo.GetCustomAttribute(campoInfo, tipoof(DescriptionAttribute), falso) como DescriptionAttribute; var Description = atributo. Descripción; retorno Descripción; }
|