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