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!
> >
> >
> >
>
>
>

Responder a