Llamar funcioncon nombre metodo en un string

04/06/2004 - 22:10 por Juan Pablo Miranda | Informe spam
Hola quisiera saber como llamo una funcion cuando lo unico
que tengo es el nombre de la funcion en un string.

Gracias,

JuanPa
 

Leer las respuestas

#1 Jose Luis Manners
04/06/2004 - 22:15 | Informe spam
Necesitas usar Reflection. Lo que haces es encontrar la clase que contiene
el metodo/funcion, luego encuentras el metodo dentro de la clase y lo
invocas. Aqui te muestro un ejemplo, es bastante simple (no pasa argumentos
y solo encuentra un metodo publico que no devuelve un valor), pero demuestra
el concepto basico:

using System;
using System.Reflection;
class Prueba
{
string nombre;
Prueba(string nuevoNombre)
{
this.nombre = nuevoNombre;
}

public void MuestraNombre()
{
Console.WriteLine(nombre);
}

static void Main()
{
// Crea un objeto Prueba
Prueba p = new Prueba("SoyObjetoPrueba");

// Obtener el metodo que queremos llamar
MethodInfo mi = typeof(Prueba).GetMethod("MuestraNombre");

// Llamar el metodo en el objeto que creamos, sin argumentos
mi.Invoke (p, null);
}
}

Puedes conseguir informacion mas detallada sobre Reflection en MSDN.

Saludos,

Jose Luis Manners, MCP


"Juan Pablo Miranda" wrote in message
news:1858801c44a70$04f6eb20$
Hola quisiera saber como llamo una funcion cuando lo unico
que tengo es el nombre de la funcion en un string.

Gracias,

JuanPa

Preguntas similares