2010-02-09 77 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