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