使用C#,我有方法列表(操作)。
然后,我有了一种使用foreach循环调用动作的方法。
单击按钮即可调用该方法,该方法又一次调用列表中的每个动作。
我需要的是每次点击只执行一次操作。
提前致谢。
private static List<Action> listOfMethods= new List<Action>();
listOfMethods.Add(() => method1());
listOfMethods.Add(() => method2());
listOfMethods.Add(() => method3());
//====================================================================
private void invokeActions()
{
foreach (Action step in listOfMethods)
{
step.Invoke();
//I want a break here, only to continue the next time the button is clicked
}
}
//====================================================================
private void buttonTest_Click(object sender, EventArgs e)
{
invokeActions();
}
最佳答案
您可以添加一个计步器:
private static List<Action> listOfMethods= new List<Action>();
private static int stepCounter = 0;
listOfMethods.Add(() => method1());
listOfMethods.Add(() => method2());
listOfMethods.Add(() => method3());
//====================================================================
private void invokeActions()
{
listOfMethods[stepCounter]();
stepCounter += 1;
if (stepCounter >= listOfMethods.Count) stepCounter = 0;
}
//====================================================================
private void buttonTest_Click(object sender, EventArgs e)
{
invokeActions();
}