Principales respuestas
Una consulta, ¿Cómo obtengo el valor por defecto de app.config en su tipo correcto? (explico)

Pregunta
-
Suponiendo que en el archivo de configuración, Tamano es de tipo size. Para obtener la conversión correcta usaría:
SizeConverter y ConvertFromString, para obtener el tipo Size correspondiente a dicho valor. Hasta allí todo OK.
-----------------------------------------------------
Pero cómo sería si declaro en el app.config un campo con un tipo enumerado de usuario. Por ejemplo
MiColor de tipo Colores = Azul
Colores está definido así:
Enum Colores
Azul
Rojo
End Enum
Al obtener el valor por defecto desde app.config lo obtengo así:
My.Settings.Properties("MiColor").DefaultValue
Pero creo que lo anterior retorna el valor "Azul" como una cadena.
¿Cómo convierto ese valor en su tipo enumerado correcto?
- Editado James2016-2 domingo, 3 de enero de 2021 4:22
Respuestas
-
Puedes usar Enum.Parse o Enum.TryParse.
Dim miColor As Colores = Enum.Parse(Of Colores)(My.Settings.Properties("MiColor").DefaultValue)
Si tienes Option Strict On, acuérdate de añadir también una llamada a CType.
- Propuesto como respuesta Sergio Parra domingo, 3 de enero de 2021 12:46
- Marcado como respuesta James2016-2 domingo, 3 de enero de 2021 15:08
Todas las respuestas
-
Puedes usar Enum.Parse o Enum.TryParse.
Dim miColor As Colores = Enum.Parse(Of Colores)(My.Settings.Properties("MiColor").DefaultValue)
Si tienes Option Strict On, acuérdate de añadir también una llamada a CType.
- Propuesto como respuesta Sergio Parra domingo, 3 de enero de 2021 12:46
- Marcado como respuesta James2016-2 domingo, 3 de enero de 2021 15:08
-
Hola James,
Gracias por confirmar que se ha encontrado una solución a la consulta realizada.
Gracias por usar los foros de MSDN.
Eric Ruiz
____________________________
Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.
Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.