Вызов методов через массив ( по индексу ) - 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(); // Вызов метода по индексу.
        }
    }

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


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

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

10   голосов , оценка 4.1 из 5
Похожие ответы