Вызов методов через массив ( по индексу ) - C#
Формулировка задачи:
Приложение типа консоли, в котором надо вызывать методы по команде
Самым простым способом приходится делать swich( string ) и много кейсов
Подумал, что намного проще было бы вызывать методы по индексу, как показано в коде ниже :
Этот способ подходит в принципе, но тогда приходиться инвокать мой листбокс, и вообще вызывать методы в другом потоке достаточно стрёмно...
Уверен, что должен быть лёгкий способ, если кто такой знает - отпишите пожалуйста )
class Program { static Thread[] list = { new Thread( method1 ), new Thread( method2 ), new Thread( method3 ) }; static string[] index = { "a", "b", "c" }; static void Main( string[] args ) { string input = Console.ReadLine(); int i = 0; foreach( string n in index ) { if( input == n) list[i].Start(); i++; } Console.Read(); } static void method1() { Console.WriteLine( "method a" ); } static void method2() { Console.WriteLine( "method b" ); } static void method3() { Console.WriteLine( "method c" ); } }
Решение задачи: «Вызов методов через массив ( по индексу )»
textual
Листинг программы
class Program { static void Method1() { Console.WriteLine("Method1"); } static void Method2() { Console.WriteLine("Method2"); } static void Method3() { Console.WriteLine("Method3"); } static void Main() { var dict = new Dictionary<int, Action>() { { 1, Method1 }, { 2, Method2 }, { 3, Method3 }, }; dict[2].Invoke(); // Вызов метода по индексу. } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д