.NET 4.x Вызвать метод по названию methodName и отправить в него параметры - C#
Формулировка задачи:
Доброго времени суток.
Каким образом можно вызвать новый метод по названию methodName и отправить в него параметры?
Т.е. если methodName будет называться testMethod, то будет автоматически вызван метов
public int callDotnetMethod(string methodName, String[] args) {
return 1;
}public int testMethod(){
}Решение задачи: «.NET 4.x Вызвать метод по названию methodName и отправить в него параметры»
textual
Листинг программы
class Program
{
delegate int delMethod(String[] args);
static delMethod[] methods = { Method1, Method2, Method3 };
static void Main(string[] args)
{
string methodToCall = "Method1";
callDotnetMethod(methodToCall, new string[] { "11", "22", "33" });
methodToCall = "Method2";
callDotnetMethod(methodToCall, new string[] { "11", "22", "33" });
methodToCall = "Method3";
callDotnetMethod(methodToCall, new string[] { "11", "22", "33" });
Console.ReadKey();
}
static int callDotnetMethod(string methodName, String[] args)
{
string[] methodNames = { "Method1", "Method2", "Method3" };
return methods[Array.IndexOf(methodNames, methodName)](args);
}
static int Method1(String[] args)
{
Console.WriteLine("Вызван метод 1, аргументы " + args[0]);
return 1;
}
static int Method2(String[] args)
{
Console.WriteLine("Вызван метод 2, аргументы " + args[1]);
return 2;
}
static int Method3(String[] args)
{
Console.WriteLine("Вызван метод 3, аргументы " + args[2]);
return 3;
}