Hola Joseba, y Hari. Gracias, Con tu codigo, Joseba, no consiguo que funcione con parametros (igual hago algo mal). Y lo del 'Factory Method Pattern' no lo conocia y me parece muy interesante, y me vendra bien en otra parte del proyecto, cuando me lo estudie bien. Pero para lo que quería ahora, me da que no me vale, creo:
Lo que estoy haciendo ahora es un mini-framework que va a leer de un XML la configuracion de un portal. Ahora, en ese XML, pongo una definicion de 'paginas', dentro de las cuales hay instancias de 'modulos'. Y al final tambien estan las definiciones de las diferentes clases de modulos, cada uno con un ID. Ahora, a la hora de crear esos modulos, uso un switch con el ID de tipo de modulo para instanciar la clase del modulo correspondiente. Lo que ocurre que esto está implementado en una clase 'mainPortalForm', la cual es generica del framework, y de la cual cada portal debera derivar la suya propia. Y cada portal puede tener modulos propios. Por eso queria dejar de usar switch con el ID del tipo de modulo, y usar una instanciación dinamica, a partir de strings sacados del XML de configuracion del portal (de cada clase de modulo). Y en esa instanciacion tengo que usar los parametros del constructor de la clase modulo (que deriva de una clase base 'modulo'). No se si me he explicado. El caso es que igual lo estoy planteando mal, y no es necesario hacer una instanciación dinamica. O igual deberia hacer que todos los modulos que implemente vayan 'hard-coded' en el 'mainPortalForm'. No lo tengo muy claro. Esto va a correr por 'encima' de una aplicacion asp.net, que es la que define el XML, y dentro de la cual se usa un sistema mas o menos dinamico de creacion de modulos a partir de ese XML (teniendo almacenado en el XML las cadenas de los modulos, que son controles asp.net, por ejem: "Projects.asmx") Perdon por la chapa, no pensaba liarme tanto :) Gracias y un saludo, Edu-eemece2 ----- Original Message ----- From: "Hari Seldon" <[EMAIL PROTECTED]> To: <asnativos@5dms.com> Sent: Monday, February 27, 2006 1:30 PM Subject: RE: [ASNativos] Instanciar clases dinamicamente No se si lo que buscará es _cargar_ dinámicamente las clases.... Si lo que necesita es una instanciación dinámica, pues desde luego el patrón Factory le va que ni pintado.. Y aún mejor el abstract factory ;) Saludos. > -----Mensaje original----- > De: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] En nombre de Joseba Alonso > Enviado el: lunes, 27 de febrero de 2006 10:55 > Para: asnativos@5dms.com > Asunto: RE: [ASNativos] Instanciar clases dinamicamente > > Prueba con: > > var obj:Object= new _global[dynamicClass](); > > De todas maneras parece que necesitas un Factory method > pattern diria yo ;) > > http://en.wikipedia.org/wiki/Factory_method_pattern > > Un saludo, > > > Joseba Alonso > www.5dms.com > www.sidedev.net > > > -----Mensaje original----- > > De: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] En nombre de eemece2 > > Enviado el: domingo, 26 de febrero de 2006 21:51 > > Para: asnativos@5dms.com > > Asunto: Re: [ASNativos] Instanciar clases dinamicamente > > > > [Repito el correo anterior, que está poco legible] > > > > /////////////// > > > > Bueno, he visto que se puede hacer en AS 2.0 con: > > > > var dynamicClass = "namespace.miclase"; > > > > var obj:Object= new(eval(dynamicClass)); > > > > > > Aunque no veo como se le pueden pasar parametros al constructor. > > > > Por otro lado, veo que en AS 3.0 se puede usar algo parecido a > > esto: > > > > var obj:Object= new _global[dynamicClass]; > > > > y que no sirve lo que valepara AS 2.0 > > > > ¿Sabeis como pasarle parametros para el caso de AS 2.0? > > > > ¿U otra forma de isntanciar la clase dinamicamente, con parametros? > > > > Saludos, > > > > Edu-eemece2 > > > > ----- Original Message ----- > > From: "eemece2" <[EMAIL PROTECTED]> > > To: <asnativos@5dms.com> > > Sent: Sunday, February 26, 2006 8:37 PM > > Subject: [ASNativos] Instanciar clases dinamicamente > > > > > > Buenas a todos, > > > > Quería instanciar un objeto de una clase dinamicamente, esto > > es, teniendo el > > nombre de la clase en una variable String. > > No lo habia hecho hasta ahora, y pensaba que se hacia con > > 'createClassObject', pero veo que es una funcion para > componentes del > > framework de MM. > > > > ¿Me podeis comentar como se hace para clases propias, que no > > deriven de > > ninguna clase del framework? > > Pues no veo info googleando. > > > > Muchas gracias y saludos, > > > > Edu-eemece2---------------------------------- > > Lista ASNativos:asnativos@5dms.com > > http://www.5dms.com/listas > > ---------------------------------- > > > > ---------------------------------- > > Lista ASNativos:asnativos@5dms.com > > http://www.5dms.com/listas > > ---------------------------------- > > ---------------------------------- > Lista ASNativos:asnativos@5dms.com > http://www.5dms.com/listas > ---------------------------------- > > __________ Información de NOD32 1.1419 (20060226) __________ > > Este mensaje ha sido analizado con NOD32 antivirus system > http://www.nod32.com > > ---------------------------------- Lista ASNativos:asnativos@5dms.com http://www.5dms.com/listas ---------------------------------- ---------------------------------- Lista ASNativos:asnativos@5dms.com http://www.5dms.com/listas ----------------------------------