2011-12-13 57 views
1

我在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(); 
} 

,但我不知道该怎么做。

回答

3

你可以沿着这些线做些事情......因为它们不是静态的,你需要实例化Class1Class2对象并调用这些对象上的方法。使用一列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();