Regresar   Foros del Web > Programación para sitios web > .NET > web forms

El registro es Gratis en Foros del Web
Respuesta
 
Herramientas Buscar en Tema Desplegado
Antiguo 06/05/08, 09:15:23   #1 (permalink)
danybarco ha deshabilitado el Karma
 
Registrado: jul 2005
Mensajes: 120
danybarco is offline  
Pregunta Acceder a Propiedades de una clase

Buenas, tengo una serie de dudas y quisiera saber si alguien sabria resolverlas:
Quiero crear una clase con una serie de contanstes o variables. Y luego desde una funcion que cree pasarle como parametro el nombre de la variable y que devuelva el valor de dicha variable. Todas estas variables serian string. Algo asi:

Public var1 as string ="uno"
Public var2 as string = "dos"
Public function Vars(nombrevar as string) as string
'Aqui no se como buscar la variable (o constante)
Return Variable
End Function

¿Existe alguna manera de hacer esto?
__________________
Moitas Gracias desde Galiza!!!
  Responder Con Cita
Antiguo 06/05/08, 09:24:14   #2 (permalink)
Peterpay tiene un saldo positivo de karma
 
Registrado: sep 2007
Ubicación: Mexico
Mensajes: 964
Contactar con Peterpay a través de MSN Send a message via Skype™ to Peterpay
Peterpay is offline  
Re: Acceder a Propiedades de una clase

quieres q te devuelva por ejemplo si el valor de var1 es uno , retorne "uno" cierto.

para hacer eso de una manera elegante y usando el framework yo seria de la idea que utilizaras reflection. dale una vuelta al tema y ahi puedes pasarle el nombre de la propiedad y te retoranara el valor de dicha propiedad sin importar el tipo.

PropertyInfo info = this.GetType().GetProperty(prop);
object valor=info.GetValue();
__________________
Saludos
Peterpay

Soon MCPD Web and MCPD Enterprise Applications
  Responder Con Cita
Antiguo 06/05/08, 09:31:29   #3 (permalink)
danybarco ha deshabilitado el Karma
 
Registrado: jul 2005
Mensajes: 120
danybarco is offline  
Re: Acceder a Propiedades de una clase

Si eso, es exactamente. Gracias.
¿Que es eso de reflection? ¿Es similar a prototype/scriptaculous para javascript?¿a partir de que .Net esta disponible? Yo actualmente estoy con el 2.0 ¿Hay que hacer alguna instalacion especial?
__________________
Moitas Gracias desde Galiza!!!
  Responder Con Cita
Antiguo 06/05/08, 09:43:19   #4 (permalink)
Peterpay tiene un saldo positivo de karma
 
Registrado: sep 2007
Ubicación: Mexico
Mensajes: 964
Contactar con Peterpay a través de MSN Send a message via Skype™ to Peterpay
Peterpay is offline  
Re: Acceder a Propiedades de una clase

no, reflection es parte de .net, no recuerdo en este momento desde que version pero te permite entre otras cosas acceder a propiedades , objetos y metadata de todas las clases y poder crear objetos , acceder a ellos sin importar q no conozcas su definición. o incluso crear objetos y ejecutar metodos en runtime.

using System.Reflection; o import en tu caso al ser vb
__________________
Saludos
Peterpay

Soon MCPD Web and MCPD Enterprise Applications
  Responder Con Cita
Antiguo 06/05/08, 09:55:04   #5 (permalink)
danybarco ha deshabilitado el Karma
 
Registrado: jul 2005
Mensajes: 120
danybarco is offline  
Re: Acceder a Propiedades de una clase

Ok, estoy probandolo como me dices pero la propiedad getvalue no acepta ese numero de argumentos. Me dice que debo pasarle el objeto cuyo valor quiera recuperar y un indice en caso que sea un objeto indexado(creo que en este caso que seran strings debo pasarle un null).
__________________
Moitas Gracias desde Galiza!!!
  Responder Con Cita
Antiguo 06/05/08, 10:21:07   #6 (permalink)
Peterpay tiene un saldo positivo de karma
 
Registrado: sep 2007
Ubicación: Mexico
Mensajes: 964
Contactar con Peterpay a través de MSN Send a message via Skype™ to Peterpay
Peterpay is offline  
Re: Acceder a Propiedades de una clase

sabes cual es tu problema q val1 y val2 no son propiedades son miembros.

una propiedad es aquella q tiene keywords de acceso como el get y el set
__________________
Saludos
Peterpay

Soon MCPD Web and MCPD Enterprise Applications
  Responder Con Cita
Antiguo 06/05/08, 10:35:42   #7 (permalink)
danybarco ha deshabilitado el Karma
 
Registrado: jul 2005
Mensajes: 120
danybarco is offline  
Re: Acceder a Propiedades de una clase

Ok. Eso si, he cambiado mis metodos por propiedades y sigo teniendo el mismo problema. No se que ponerle en los parametros que me pide para el getValue.
__________________
Moitas Gracias desde Galiza!!!
  Responder Con Cita
Antiguo 06/05/08, 10:39:49   #8 (permalink)
danybarco ha deshabilitado el Karma
 
Registrado: jul 2005
Mensajes: 120
danybarco is offline  
Re: Acceder a Propiedades de una clase

Por cierto, ¿Se podria usar Reflection para hacer mas facil el acceso a datos? Se me ocurre que declarando una clase por tabla y heredando de otra metodos que recorran las propiedades cuando se deba salvar, actualizar, eliminar, etc... ¿Sabes si ya hay algo hecho?
__________________
Moitas Gracias desde Galiza!!!
  Responder Con Cita
Antiguo 06/05/08, 14:26:35   #9 (permalink)
Peterpay tiene un saldo positivo de karma
 
Registrado: sep 2007
Ubicación: Mexico
Mensajes: 964
Contactar con Peterpay a través de MSN Send a message via Skype™ to Peterpay
Peterpay is offline  
Re: Acceder a Propiedades de una clase

Si de hecho crear objetos de negocios ya lo hacen, puedes utilizar CSLA q hace uso de reflection para obtener esos datos
__________________
Saludos
Peterpay

Soon MCPD Web and MCPD Enterprise Applications
  Responder Con Cita
Antiguo 07/05/08, 08:06:09   #10 (permalink)
danybarco ha deshabilitado el Karma
 
Registrado: jul 2005
Mensajes: 120
danybarco is offline  
Re: Acceder a Propiedades de una clase

Estuve hechandole un ojo al CSLA pero es que no necesito tanta cosa, unicamente necesitaba crearme una pequeña clase que le pase otra clase cuyo nombre sera igual a una de las tablas que tenga en mi BBDD y que tenga tantas propiedades como campos tenga mi tabla. Para luego con la primera clase construirme mi query y ejecutarla.
__________________
Moitas Gracias desde Galiza!!!
  Responder Con Cita
Respuesta


Califica este Tema - Acceder a Propiedades de una clase.

Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado Califica este Tema
Califica este Tema:

Reglas del foro
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está activado
Las caritas están activado
Código [IMG] está activado
Código HTML está desactivado


Todas las horas son GMT -6. La hora es 10:18:35.

Message Board Statistics

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96