Exacto.......justamente eso es lo que estaba buscando........ Incluso ya lo habia usado antes, pero no me acordaba.
Muchisimas gracias Diego! El 2/01/08, Diego Jancic <[EMAIL PROTECTED]> escribió: > Ahh... ok, ya entendi lo que querés hacer... > Para eso tenes que usar CodeDom, que es lo que usa visual studio para > generar los archivos .designer.cs > En fin, es bastante mas complicado eso que Reflection, pero mira este > articulo: > > http://msdn2.microsoft.com/en-us/library/ms404245.aspx > > o sino busca algo como ".net codedom create class" en internet y vas a > encontrar varios artículos mas... > > Saludos!, > Diego > > > -----Original Message----- > From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Fernando > Rodriguez > Sent: Miércoles, 02 de Enero de 2008 11:27 p.m. > To: [email protected] > Subject: [puntonet] Consulta: relacional a objetos > > Diego, antes que nada agradezco tu opinión. Y paso a explicar un poco > mas en detalle el problema. > En realidad no voy a tener nunca la clase Perro ni Animal. > La idea es crearlas dinamicamente para luego escribirlas a un archivo. > Es decir, que en algun lugar de mi codigo debe existir algo asi: > > Clase cl = new Clase(); > cl.Nombre = "Perro"; > cl.ClaseBase = new Clase("Animal"); > cl.Metodos.Agregar(<algun metodo>); > cl.VariablesMiembro.Agregar....... > > etc.... > y luego > cl.EscribirEnArchivo(miArchivo); > > Entonces estoy necesitando alguna/s clases con las cuales pueda crear > clases arbitrareamente. > Se que reflection tiene algo de esto... > Queria saber que opinan y que es lo que me conviene mas. > > Gracias y saludos! > El 2/01/08, Diego Jancic <[EMAIL PROTECTED]> escribió: > > Hola, > > Imagino que los campos que pusiste en la clase (nombreDeClase, claseBase, > > ...) son porque los inventaste vos. Con reflection vas a poder sacar la > > informacion de una clase limpia, ej: > > > > class Perro : Animal > > { > > public void Ladrar() { ... } > > ... > > } > > > > Y de eso vas a poder obtener que la clase se llama "Perro", que hereda de > > "Animal", que propiedades, campos y métodos tiene. Tambien vas a poder > saber > > que cosas están declaradas en Perro y que en Animal, si Perro es una clase > > abstract o sealed, los parámetros de los métodos, etc, etc, etc... > > > > Si queres metete con Reflection que es bastante fácil.. > > > > En caso de que no necesites obtenerlo de una clase limpia, podes hacer > > exactamente lo que vos pedís... pero primero aprende a hacer lo otro, > > despues usa FieldInfo.GetValue(...) o PropertyInfo.GetValue(...) para > > obtener los valores que pedís... > > > > Saludos!, > > Diego > > > > > > > > -----Original Message----- > > From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of > Fernando > > Rodriguez > > Sent: Miércoles, 02 de Enero de 2008 08:37 p.m. > > To: [email protected] > > Subject: [puntonet] Consulta: relacional a objetos > > > > Feliz 2008 para todos. > > > > Arranco con una consultita: > > Estoy haciendo un convertidor de modelo relacional en modelo de > > objetos y viceversa. Para esto necesito modelar clases. > > Lo que necesito es muy sencillo, una clase que modele una clase, > > similar a lo que sigue: > > > > class Clase > > { > > string nombreDeClase;//El nombre de la clase. > > Clase claseBase;//La clase de la cual hereda, puede ser null. > > IDictionary miembros; //Este es un diccionario <nombre, clase>, > > donde nombre es de la clase string y clase es de la clase Clase. > > Representa las variables de instancia de una clase. > > IList metodos; //Una lista de la clase Metodo > > } > > > > Por el momento solamente necesito eso, ni siquiera modelar las > propiedades. > > > > Y eventualmente un metodo Escribir, que escriba la clase completa en un > > archivo. > > Mi consulta es si alguien conoce algo similar que pueda reutilizar. > > Creo que en el namespace Reflection hay algo parecido, pero no se > > hasta que punto me puede servir. Es por eso que acudo a sus amables > > opiniones al respecto. > > > > Desde ya muchas gracias. > > Saludos y buen año para todos! > > > > > > > > >
