Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Foros > Tecnologías .NET > Crear delegados a partir de un string
-Foros de debate

Tecnologías .NET
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

Crear delegados a partir de un string
Enviado por Miguel el día 15 de agosto de 2008

Tengo una "pequeña" duda, necesito asignarle a un Objeto un evento que tengo en un string, y que tambien lo gestione un metodo que tambien lo tengo en un string. la cosa esta retorcida, seria para que se entendiese algo por el estilo a esto, pero que funcione.

Delegate void MiDelegado();

void Asigna(){
string Evento = "Click";
string TipoDelegado = "MiDelegado";
string Metodo = "MetodoControlador";

Objeto. "Evento" += new "TipoDelegado"( "Metodo" );
}

void MetodoControlador(){
MessageBox.Show("Ole que paranoia!");
}

Esta claro que esto no funciona ni a la de tres pero creo que asi se me entiende mejor, usando la imaginacion tenemos en varios string el evento a establecer, el tipo del delegado y el metodo controlador, ¿Como se hace para que funcione?

He intentado usar lo del Assambly ese, creo que los tipos iran por ahi, pero no encuentro nada en internet, por favor que alguien me eche una mano

Muchisimas gracias de antemano!!

 
Re: Crear delegados a partir de un string
Enviado por Miguel el día 15 de agosto de 2008

Que pena tener que responderse uno a si mismo.

Aqui esta la solucion:

object Ctr = (object)LoadControl(Nombre + ".ascx");
Type Tipo = Ctr.GetType();


EventInfo Evento = Tipo.GetEvent("Click);

Type Destino = this.Parent.Parent.GetType();

MethodInfo Metodo = Destino.Module.GetType(Destino.BaseType.FullName).GetMethod("Boton_Click");

Delegate Del = Delegate.CreateDelegate(Evento.EventHandlerType, this.Parent.Parent, Metodo);

Evento.AddEventHandler(Ctr, Del);

 


Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network