Llamadas a métodos o funciones de nombre variable en .NET
Los programadores de PHP están acostumbrados a poder llamar a una función por vía de una variable. Esto es muy útil para ejecutar determinadas funciones dependiendo de las reacciones del usuarios. Una explicación de esto se encuentra en este enlace: funciones variables. Basta con asignar a una variable el nombre de la función y llamarla:
$mifuncion=”RaizCuadrada”;
$mifuncion(4);
Sin embargo, realizar lo mismo en .NET no es tan fácil ni intuitivo. Pero puede conseguirse. Para ello viene en nuestra ayuda la función GetMethod. El siguiente código nos permite hacerlo:
Type t;
MethodInfo mi;
try
{
//Cargamos el Type e Instanciamos la clase
t = pruebas.GetType();
//Cargamos el método y lo ejecutamos
mi = t.GetMethod(”Nombre de la función o método”); // Get the method
mi.Invoke(pruebas, null); // Call the method
}
catch (Exception ex)
{
throw ex;
}
finally
{
t = null;
mi = null;
}
Hay que tener cuidado con los valores nulos si no encuentra la función.
