C # Действие / Список функций

У меня есть программа, которая должна выполнять функцию в соответствии с Enum, и мне интересно, есть ли другой способ, чем это:

enum FunctionType
{
 Addition = 0,
 Substraction = 1,
 Mutiplication = 2,
 Division = 3
}
void ExecuteFunction(FunctionType Function)
{
  switch(Function)
  {
    case FunctionType.Addition: Addition();
    break;
    case FunctionType.Substraction: Subsctration();
    break;      
    ...
    default: ...  
  }
}

(Это не код, который я использую, это просто представление того, что я хочу сделать). Этот подход должен работать нормально, но что происходит, когда у вас гораздо больше функций? Я не хочу иметь переключатель на 50 линий. Итак, я хочу знать, есть ли способ упростить это, что-то вроде этого:

enum FunctionType : Action
{
 Addition = new Action(Addition);
 Substraction = new Action(Substraction);
 ....
}
void ExecuteFunction(FunctionType Function)
{
 (Action)Function.Invoke();
}

Переключатель не требуется, и то, что может быть 50 строк, превращается в 1 строку. Но это невозможно сделать, только числовые типы принимаются как перечисления. Я думаю, что возможно иметьList<T> действий, но для этого потребуется добавить каждое действие в список во время выполнения.

РЕДАКТИРОВАТЬ: Я нашел в исходном коде, как это делается, но я не могу понять это. Вот что я получаю: они создают кастомAttribute который содержитstring (Имя метода) и методы, которые они делают:

[CustomAtrribute("name")]
void Method()
{    
}

Тогда я не знаю, как это называется по названию, я думаю, что-то вроде рефлексии, но я не знаю, как найти информацию об этом.

РЕДАКТИРОВАТЬ 2: Я нашел способ, которым я хочу сделать это, я добавлю интерфейс с функцией, затем реализую этот интерфейс с кодом внутри функции и ИспользоватьDictionary<Enum, Interface> называть это Я не знаю, должен ли я ответить на свой вопрос в любом случае, спасибо всем, кто мне помог.

Ответы на вопрос(2)

Ваш ответ на вопрос