![]() |
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? |
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(); |
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? |
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 |
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). |
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 |
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. |
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? |
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 |
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. |
| La zona horaria es GMT -6. Ahora son las 07:32. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.