如何创建进程堆栈?

时间:2011-12-13 04:35:15

标签: c# delegates

我在C#VS 2008中有三个项目如下:

  1. 项目1:Class1.function1()
  2. 项目2:Class2.function1()
  3. 项目3:致电Class1.function1()Class2.function1()(他们不是静止的)
  4. 第三个项目以不同的顺序调用函数。我想将function1()function2()“放置”在这样的列表中:

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

    但我不知道该怎么做。

1 个答案:

答案 0 :(得分: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();