Enumeraciones

05/11/2003 - 16:34 por Jose Manuel | Informe spam
Hola, tengo una duda y no se si se podrá hacer y como.

Tengo una clase "paramBusqueda" con una propiedad "tabla" que es de
tipo enumerador "tablaBusqueda" que es así:
public
enum tablaBusqueda
{

tablaA,

tablaB,

tablaC
}
De tal manera que al instanciar la clase "paramBusqueda" pueda fijar la
propiedad "tabla":
paramBusqueda oParamBusqueda = new paramBusqueda();
oParamBusqueda.tabla = tablaBusqueda.tablaA

Ahora bien, quiero tener otra propiedad "campo" que sea de tipo enumerador
"campoBusqueda"
de tal manera que al ir a establecer la propiedad "campo" me aparezca una
lista con sólo los
campos de tablaA, que es la que se estableció antes en la propiedad "tabla".

¿Como lo hago?

Y si se hubiera fijado oParamBusqueda.tabla = tablaBusqueda.tablaB, pues que
al fijar la propiedad
"campo" me apareciera una lista con sólo los campos de tablaB, y así también
si eligiera tablaC.

nota:
Los campos de tablaA podían estar definidos en un enumerador :

public enum camposTablaA

{

campo1,

campo2,

campo3

}

y los campos de tablaB y tablaC también:

public enum camposTablaB

{

campo4,

campo5,

campo6

}

Preguntas similare

Leer las respuestas

#1 Oscar Calvo
05/11/2003 - 19:17 | Informe spam
Mira, en la propiedad "campoBusqueda" llama a un metodo que añadiras a tu
clase que devuelva un Enum

public Enum devolverEnumeracion(string valor)
{}
Estem metodo recibe el valor de la enumeracion "tablaBusqueda" y a traves de
switch,if,s o devuelve la enumeracion apropiada si esta esta ya creada
estaticamente.Si lo que necesitas es devolver unos valores que aun no sabes
cuales son(no se si querras listar las columnas de una BBDD) pues en este
caso por ejemplo conectate a la base de datos, a la tabla,crea la
enumeracion y devuelvela.
espero te sirva


"Jose Manuel" escribió en el mensaje
news:
Hola, tengo una duda y no se si se podrá hacer y como.

Tengo una clase "paramBusqueda" con una propiedad "tabla" que es de
tipo enumerador "tablaBusqueda" que es así:
public
enum tablaBusqueda
{

tablaA,

tablaB,

tablaC
}
De tal manera que al instanciar la clase "paramBusqueda" pueda fijar la
propiedad "tabla":
paramBusqueda oParamBusqueda = new paramBusqueda();
oParamBusqueda.tabla = tablaBusqueda.tablaA

Ahora bien, quiero tener otra propiedad "campo" que sea de tipo enumerador
"campoBusqueda"
de tal manera que al ir a establecer la propiedad "campo" me aparezca una
lista con sólo los
campos de tablaA, que es la que se estableció antes en la propiedad


"tabla".

¿Como lo hago?

Y si se hubiera fijado oParamBusqueda.tabla = tablaBusqueda.tablaB, pues


que
al fijar la propiedad
"campo" me apareciera una lista con sólo los campos de tablaB, y así


también
si eligiera tablaC.

nota:
Los campos de tablaA podían estar definidos en un enumerador :

public enum camposTablaA

{

campo1,

campo2,

campo3

}

y los campos de tablaB y tablaC también:

public enum camposTablaB

{

campo4,

campo5,

campo6

}


Respuesta Responder a este mensaje
#2 Oscar Calvo
05/11/2003 - 22:21 | Informe spam
No me referia a devolver el valor de la enumeracion, sino a devolver la
enumeracion apropiada calculada dinamicamente segun la enum de la tabla
"Alberto" escribió en el
mensaje news:025401c3a3dd$26fbec50$
Oscar Calvo dijo:
> [...] y a traves de switch,if,s o devuelve la
enumeracion apropiada [...]

Hay una forma mejor: Utiliza Enum.Parse, que de un
solo golpe te devuelve el valor del Enum a partir del
string.


Respuesta Responder a este mensaje
#3 Jose Manuel
06/11/2003 - 09:26 | Informe spam
Muchas gracias por la ayuda ta rápida pero No entiendo muy bien como
conseguir lo que necesito con lo que me habéis dicho.
Lo que quiero es hacer una manera fácil de definir una variable de tipo
"paramBusqueda".
Ejemplo:
paramBusqueda miParamBusqueda;
//Establezco la tabla:
miParamBusqueda.tabla = tablaBusqueda.tablaA //"tablaBusqueda" es un
enumerador.
miParamBusqueda.campo = campoBusqueda. (Aqui quiero que me aparezca los
elementos del enumerador "camposTablaA)

//Nota: "campoBusqueda" lo tenía pensado como un enumerador pero que en
función de la tabla elegida antes
//tenga como elementos los elementos del enumerador "camposTablaA" o los de
"camposTablaB" o los de "camposTablaC".

//Ah, y "paramBusqueda" lo tenía pensado como un Estructura, no como una
clase.

Venga, a ver si damos con la tecla.
Respuesta Responder a este mensaje
#4 Oscar Calvo
06/11/2003 - 17:10 | Informe spam
Que es lo que no entiendes de lo que te he dicho mas arriba?
haz la propiedad, y en el get de la misma llama a un metodo que en funcion
de el valor cargado en miParamBusqueda.tabla, te devuelva la enumeracion
apropiada
este es el metodo que yo creo que se suele usar para esto.puede que haya
mas, pero desde luego este no es dificil.
Intenta pensar...

"Jose Manuel" escribió en el mensaje
news:#BDUs#
Muchas gracias por la ayuda ta rápida pero No entiendo muy bien como
conseguir lo que necesito con lo que me habéis dicho.
Lo que quiero es hacer una manera fácil de definir una variable de tipo
"paramBusqueda".
Ejemplo:
paramBusqueda miParamBusqueda;
//Establezco la tabla:
miParamBusqueda.tabla = tablaBusqueda.tablaA //"tablaBusqueda" es un
enumerador.
miParamBusqueda.campo = campoBusqueda. (Aqui quiero que me aparezca los
elementos del enumerador "camposTablaA)

//Nota: "campoBusqueda" lo tenía pensado como un enumerador pero que en
función de la tabla elegida antes
//tenga como elementos los elementos del enumerador "camposTablaA" o los


de
"camposTablaB" o los de "camposTablaC".

//Ah, y "paramBusqueda" lo tenía pensado como un Estructura, no como una
clase.

Venga, a ver si damos con la tecla.


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida