2010-02-09 33 views
2

现在,我有类更好地把握和它们在C#中的重要性,我有一个关于如何处理某种情况的问题。调用方法

我不得不执行使用都需要约10个左右的命令是在每次测试开始时设定3个不同的外部设备5-6的测试。

因此,有大约为6个测试每个装置10级的命令。

我原先打算但这些成每个装置的阵列,但现在它更有意义具有在类的每个光的装置为每个步骤的方法 - device1_test1()device2_test2()等等

这没问题,但我需要让用户能够返回上一步,以避免发生错误。

因此,如果在TEST4发生错误,用户可以返回到TEST2,但我显然需要重新发布这些命令,以便我确定自己的位置,因为这些命令在进行测试时相互依赖。

,所以我会发出对所有设备,然后test2的命令,对所有设备等Test1上的命令。

这是我应该怎么做呢?

如果是这样,当我调用device1_test1和2等,我可以通过使用方法名称中的变量的内容为test1 test2 test3部分通过增加一个整数吗?

我不知道语法,但即使是这样的 -

device1_test+counter+() where counter will contain 1, then 2, then 3 etc ? 

希望这是有道理的。

否则,就如何更好地处理这种情况有什么建议?

谢谢乔治。

回答

4

Delegates将帮助你在这里。

Action[] testCases = new Action[] { device1_test1, devide1_test2 }; 

然后就是遍历集合了常用for循环:

for(int i = 0; i < actions.Length; ++i) { 
    try { 
     actions[i].Invoke(); 
    } 

    catch(TestFailedException) { 
     if(i > 1) 
      i -= 1; 
    } 
} 
+0

你好安东, 感谢的是,它正是我在后! 干杯,乔治。 – George 2010-02-09 12:12:35