.NET 4.x Вызвать метод по названию methodName и отправить в него параметры - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток.
Листинг программы
  1. public int callDotnetMethod(string methodName, String[] args) {
  2. return 1;
  3. }
Каким образом можно вызвать новый метод по названию methodName и отправить в него параметры? Т.е. если methodName будет называться testMethod, то будет автоматически вызван метов
Листинг программы
  1. public int testMethod(){
  2. }

Решение задачи: «.NET 4.x Вызвать метод по названию methodName и отправить в него параметры»

textual
Листинг программы
  1. class Program
  2. {
  3. delegate int delMethod(String[] args);
  4. static delMethod[] methods = { Method1, Method2, Method3 };
  5.        
  6. static void Main(string[] args)
  7. {
  8.     string methodToCall = "Method1";
  9.     callDotnetMethod(methodToCall, new string[] { "11", "22", "33" });
  10.     methodToCall = "Method2";
  11.     callDotnetMethod(methodToCall, new string[] { "11", "22", "33" });
  12.     methodToCall = "Method3";
  13.     callDotnetMethod(methodToCall, new string[] { "11", "22", "33" });
  14.     Console.ReadKey();
  15. }
  16.  
  17. static int callDotnetMethod(string methodName, String[] args)
  18. {
  19.     string[] methodNames = { "Method1", "Method2", "Method3" };
  20.     return methods[Array.IndexOf(methodNames, methodName)](args);
  21. }
  22.  
  23. static int Method1(String[] args)
  24. {
  25.     Console.WriteLine("Вызван метод 1, аргументы " + args[0]);
  26.     return 1;
  27. }
  28.  
  29. static int Method2(String[] args)
  30. {
  31.     Console.WriteLine("Вызван метод 2, аргументы " + args[1]);
  32.     return 2;
  33. }
  34.  
  35. static int Method3(String[] args)
  36. {
  37.     Console.WriteLine("Вызван метод 3, аргументы " + args[2]);
  38.     return 3;
  39. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы