miércoles, 7 de marzo de 2012

Enum string - string (key - value) c#

Este es la solución práctica de un problema no problema, pues podríamos encontrar otras soluciones. Se trata de manejar Enum para estandarizar una lista enumerada, pero con llave "string" y clave "string"; para mi caso se  dió porque siempre me gusta dejar un código ordenado, elegante y entendible, entonces me encontré con un proyecto donde se usaban un listado de actividades, donde cada una de ellas tenía una definición en xml estándar, la cual se usaba de manera constante en muchas partes del código, entonces se me ocurrió buscar una opción de manejar un Enum donde se declarara una sola vez estas actividades y simplemente por el nombre de la actividad, cargar su esquema. 

Entonces, acá tenemos la solución, que aclaró simplemente hice algunos cambios pues no es mi idea y no conozco el autor.

Lo primero es armar nuestro Enum, el cual va a tener la siguiente estructura:


Vemos que cada item tiene la propiedad por encima llamada descripción; En esta etiqueta vamos a ubicar los textos que necesitamos asociar a nuestra llave, para este caso se trata de un esquema XML (ejemplo), el cual necesito cargar cada vez que llame una de estas etiquetas.

Ahora, para obtener la información asociada en la descripción usamos la siguiente función, la cual nos va a devolver la descripción según el valor llave del Enum:


Funciona perfectamente, y nuestro código tendrá una lista estándar y reutilizable. De nuevo les comparto, y espero les sirva, aunque no es un problema, podríamos mejorar mucho nuestro trabajo.


No hay comentarios:

Publicar un comentario