Genéricos

08/02/2007 - 17:45 por Alhambra-Eidos Kiquenet | Informe spam
Hola a todos,

todavía no domino el tema de genéricos, quisiera saber si se puede pasar
este método utilizando genéricos

///<summary>A partir de cadena con valor de Enumeración obtiene el tipo
Enumerado</summary>
/// <param name="valorTipoObservacion"></param>
/// <returns></returns>
public static TipoObservacion ConvertirAValorEnum(string
valorTipoObservacion)
{
// Si es un valor no válido throws an ArgumentException.
// Para evitar esta situación, utilizar Enum.IsDefined()
// IsDefined no ofrece el parámetro ignoreCase, por lo que si no
se sabe si el valo es correcto en mayúsculas-minúsculas la única solución
sería utilizar método Parse y captura la excepción ArgumentException
-disminución del rendimiento

TipoObservacion tipoObs = null;

if (Enum.IsDefined(typeof(TipoObservacion), valorTipoObservacion))
tipoObs = (TipoObservacion)
Enum.Parse(typeof(TipoObservacion), valorTipoObservacion, true);

return tipoObs;
}

Quisiera que TipoObservacion fuese un Tipo que representase cualquier
enumeración.

Saludos y gracias de antemano.
http://www.alhambra-eidos.com/web2005/index.html
www.kiquenet.net
 

Leer las respuestas

#1 Alberto Poblacion
08/02/2007 - 18:38 | Informe spam
"Alhambra-Eidos Kiquenet"
wrote in message news:
Quisiera que TipoObservacion fuese un Tipo que representase cualquier
enumeración.



Quedaría de una forma parecida a la siguiente:

public static T ConvertirAValorEnum<T>(string valorT)
{
T tipo = default(T);

if (Enum.IsDefined(typeof(T), valorT))
tipo = (T) Enum.Parse(typeof(T), valorT, true);

return tipo;
}

Preguntas similares