Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

как с помощью названия метода вывести что он передает С#

Izman A Ученик (144), на голосовании 7 лет назад
у меня есть около 100 методов, например метод1....метод100, как сделать так, что когда вводиш в консоль "метод1" он показыал все что храниться в этом методе, то есть вот если method1 - выводится Hello..Использовать switch для 100 методов довольно нудно будет.
public void method1()
{
Console.Write("Hello");
}
public void method2()
{
Console.Write("2");
}....
как я понимаю нужно использовать using reflection .
Голосование за лучший ответ
Александр Просветленный (20886) 7 лет назад
Ну я до конца суть вашей задачи не понял, но судя по всему вам копать в сторону рефлексии.
East RX Просветленный (24385) 7 лет назад
using System.Reflection;
. .

string input = Console.ReadLine();
MethodInfo method = typeof(Program).GetMethod(input);
if (method != null) {
method.Invoke(null, null);
} else {
Console.WriteLine("Нет такого метода");
}

В этом примере предполагается что все методы открытые (public), статические (static), не принимают аргументов и объявлены в классе "Program" (главный класс приложения, по-умолчанию). Подробнее:
Type.GetMethod
MethodInfo.Invoke
Похожие вопросы