Foros del Web » Programando para Internet » ASPX (.net) »

Acceder a Propiedades de una clase

Estas en el tema de Acceder a Propiedades de una clase en el foro de ASPX (.net) en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 06/05/2008, 09:15
 
Fecha de Ingreso: julio-2005
Mensajes: 217
Antigüedad: 18 años, 9 meses
Puntos: 0
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!!!
  #2 (permalink)  
Antiguo 06/05/2008, 09:24
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
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();
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 06/05/2008, 09:31
 
Fecha de Ingreso: julio-2005
Mensajes: 217
Antigüedad: 18 años, 9 meses
Puntos: 0
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!!!
  #4 (permalink)  
Antiguo 06/05/2008, 09:43
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
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
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #5 (permalink)  
Antiguo 06/05/2008, 09:55
 
Fecha de Ingreso: julio-2005
Mensajes: 217
Antigüedad: 18 años, 9 meses
Puntos: 0
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!!!
  #6 (permalink)  
Antiguo 06/05/2008, 10:21
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
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
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #7 (permalink)  
Antiguo 06/05/2008, 10:35
 
Fecha de Ingreso: julio-2005
Mensajes: 217
Antigüedad: 18 años, 9 meses
Puntos: 0
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!!!
  #8 (permalink)  
Antiguo 06/05/2008, 10:39
 
Fecha de Ingreso: julio-2005
Mensajes: 217
Antigüedad: 18 años, 9 meses
Puntos: 0
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!!!
  #9 (permalink)  
Antiguo 06/05/2008, 14:26
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
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
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #10 (permalink)  
Antiguo 07/05/2008, 08:06
 
Fecha de Ingreso: julio-2005
Mensajes: 217
Antigüedad: 18 años, 9 meses
Puntos: 0
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!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:03.