Как создать стек процессов? - PullRequest
1 голос
/ 13 декабря 2011

У меня есть три проекта в C # VS 2008:

  1. Проект 1: Class1.function1()
  2. Проект 2: Class2.function1()
  3. Проект 3:Вызовы Class1.function1() или Class2.function1() (они не являются статичными)

Третий проект вызывает функции в различном порядке.Я хочу "поместить" function1() и function2() в список, подобный этому:

foreach(var function in functions)
{
    // calls function
    function();
}

, но я не знаю, как это сделать.

1 Ответ

3 голосов
/ 13 декабря 2011

Вы можете сделать что-то в этом духе ... поскольку они не статичны, вам нужно создавать экземпляры Class1 и Class2 объектов и вызывать методы для этих объектов. Используйте список из Action<T> делегатов для итерации по методам.

 var c1 = new class1();
 var c2 = new class2();
 var functions = new List<Action>(){ c1.function1, c2.function1 };
 foreach (var functionToCall in functions)
     functionToCall();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...