我有一个运行其他函数(内部函数)的函数。所以每个内部函数都是主函数的步骤。 每次内部函数结束运行时,我都必须更新进度。每个内部函数都接受当前进度作为参数,我手动执行此操作。
问题是我有大约 10 个主函数,而每个主函数的内部函数数量都在变化。
有没有办法在此流程中引入某种动态值?
例子:
public void Run() {
DoWork1(33);
DoWork2(66);
Dowork3(100);
}
public void Run() {
DoWork1(25);
DoWork4(50);
Dowork5(75);
Dowork2(100);
}
最佳答案
这不是真的清楚你的意思,但也许你想要:
public void Run(params Action<int>[] actions)
{
for (int i = 0; i < actions.Length; i++)
{
Action<int> action = actions[i];
int progress = ((i + 1) * 100) / actions.Length;
action(progress);
}
}
然后调用它:
Run(DoWork1, DoWork2, DoWork3);
Run(DoWork1, DoWork4, DoWork5, DoWork2);
关于c# - 将动态参数传递给类似的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8152563/