• Martes 23 de Abril de 2024, 22:24

Autor Tema:  Enum Dinamico  (Leído 6000 veces)

mx_latino

  • Miembro activo
  • **
  • Mensajes: 91
  • Nacionalidad: ec
    • Ver Perfil
Enum Dinamico
« en: Jueves 29 de Mayo de 2008, 19:50 »
0
Hola otra vez!!

Las enumeraciones en C# son muy utiles cuando se tienen opciones fijas como tamaños o colores, etc... pero quisiera saber si hay alguna forma de crear enumeraciones dinamicas...

Por ejemplo que yo tubiera una enumeracion definida como

Código: Text
  1.  
  2.  public enum Size
  3.         {
  4.             Small,
  5.             Large,
  6.         }
  7.  
  8.  

Pero que durante la ejecucion o la invocacion, si esta estuviera en un UserControl
yo pueda agregarle mas items.. como Medium, etc...

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: Enum Dinamico
« Respuesta #1 en: Viernes 30 de Mayo de 2008, 22:53 »
0
No es posible hacer eso.

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Enum Dinamico
« Respuesta #2 en: Sábado 31 de Mayo de 2008, 04:38 »
0
Es totalmente posible utilizando System.Reflection pero  no es facil.

Por otro lado lo que quieres hacer es totalmente inutil... si te explicas mejor respecto a lo que quieres  te podran brindar mejor asesoria
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

E.Baley

  • Miembro activo
  • **
  • Mensajes: 44
    • Ver Perfil
Re: Enum Dinamico
« Respuesta #3 en: Sábado 31 de Mayo de 2008, 12:35 »
0
Para establecer valores de enums mediante reflection puedes leerte http://www.codeproject.com/KB/cs/SetEnumWithReflection.aspx

pero como dice JuanK seguramente es mucho mejor usar un List<string> o cualquier otro método para establecer los items de tu UserControl.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Enum Dinamico
« Respuesta #4 en: Sábado 31 de Mayo de 2008, 15:17 »
0
Claro, pero es necesario saber que 4es lo que quieres hacer.

Un StringDictionary me pareceria perfecto pero como no sabemos puntualmente que es lo que quieres...
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: Enum Dinamico
« Respuesta #5 en: Sábado 31 de Mayo de 2008, 19:53 »
0
Vaya, no sabia que se pudiera hacer, se aprende algo nuevo cada dia :)

Gracias JuanK y E.Baley

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

mx_latino

  • Miembro activo
  • **
  • Mensajes: 91
  • Nacionalidad: ec
    • Ver Perfil
Re: Enum Dinamico
« Respuesta #6 en: Lunes 2 de Junio de 2008, 23:11 »
0
Digamos que quiero crear un componente que me servira para obtener diferentes mensajes y que el mensaje que va a lanzar sera de acuerdo a un parametro, el mismo provendra de una "enumeracion dinamica" la cual se alimentara de los registro que sean necesarios y que estaran almacenados en una Tabla de mi DB llamada Mensages que contenga los campos: Nombre y Definicion; y que conforme yo agregue registros a mi Table la enumeracion sola se acople... entonces cualquiera que vaya a usar mi componente podra ver todos los mensajes disponibles y seran tantos como registros en mi tabla......  

Entonce bastaria con la dll del componente y la Tabla para poder obtener la lista de mensajes... Todo esto porq se trabaja en equipos de programacion y estoy encargado de crear componentes y UserControls para que los demas solo usen las dlls de forma directa....

NO  SE SI LOGRO EXPLICAR LA IDEA......  ;)

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Enum Dinamico
« Respuesta #7 en: Martes 3 de Junio de 2008, 00:32 »
0
no le veo ninguna funcionalidad a la enumeración dinámica. Eso lo hacer muchisimo mejor con un StringDictionary
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

mx_latino

  • Miembro activo
  • **
  • Mensajes: 91
  • Nacionalidad: ec
    • Ver Perfil
Re: Enum Dinamico
« Respuesta #8 en: Martes 3 de Junio de 2008, 01:04 »
0
Compadre resulta que con un enum tu pones Color.RojoSangre y con el StringDictionary tendrias que poner Color.[1] o Color["RojoSangre"] y que ocurre si el que va a utilizar el componente no sabe el INDEX o el NOMBRE EXACTO de el color que quiere usar???   :(   Es por eso necesito enumeraciones porq solo entonces el que usaria mi componente y quiera pasar un parametro que sea un item de un enum al momento de poner NombreDelEnum. tendria una lista con todos los nombres a escoger!!!! pero necesito que esa lista de nombres sea dinamica para que una vez compilado mi componente ese cree automaticamente tantos items en el enum como registro en mi DB....   :blink:

beka969

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Enum Dinamico
« Respuesta #9 en: Martes 10 de Agosto de 2010, 21:45 »
0
Hola mi estimado,
tengo el mismo problema que tu estoy creando un componente que al igual que el tuyo se llena desde mi base de datos, y nesesito crear un enum dinamico, apenas estoy checando el link que te mandaron, pero si me das un consejillo de por donde llegarle te lo agradesco

gracias :good: