enumeración Supongamos:cadena genérico para ENUM conversión
public enum SysLogsAppTypes { None, MonitorService, MonitorTool };
y aquí hay una función para convertir de la representación ToString()
de nuevo a enum
:
private SysLogsAppTypes Str2SysLogsAppTypes(string str)
{
try
{
SysLogsAppTypes res = (SysLogsAppTypes)Enum
.Parse(typeof(SysLogsAppTypes), str);
if (!Enum.IsDefined(typeof(SysLogsAppTypes), res))
return SysLogsAppTypes.None;
return res;
}
catch
{
return SysLogsAppTypes.None;
}
}
¿Hay una manera de hacer esto Genérico ??
me trataron:
private T Str2enum<T>(string str)
{
try
{
T res = (T)Enum.Parse(typeof(T), str);
if (!Enum.IsDefined(typeof(T), res)) return T.None;
return res;
}
catch
{
return T.None;
}
}
pero me sale: 'T' es un 'parámetro de tipo', que no es válida en el contexto dado
donde hay T.None
Cualquier ayuda ? Gracias
Sólo sustituir 'predeterminado (T)' para 'T.None' y estás listo para irte. – thecoop