我在C#VS 2008中有三个项目如下:
Class1.function1()
Class2.function1()
Class1.function1()
或Class2.function1()
(他们不是静止的)第三个项目以不同的顺序调用函数。我想将function1()
和function2()
“放置”在这样的列表中:
foreach(var function in functions)
{
// calls function
function();
}
但我不知道该怎么做。
答案 0 :(得分:3)
你可以沿着这些方向做某些事情......因为它们不是静态的,你需要实例化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();