2012-05-17 64 views
0

我寫依賴於在測試開始時加載數據的Silverlight的測試,這樣的事情:Silverlight的測試EnqueueCallback在循環

string[] testVectors = new string[20]; 
EnqueueCallback(Load some data); 
EnqueueConditional(Wait for loading of data to finish); 
EnqueueCallback(Populate testVectors using the loaded data); 

接下來,我要排隊使用測試向量更多回調和條件。但我如何循環?????

我不能做到這一點:

for(int iTest=0; iTest<20; iTest++) 
{ 
    EnqueueConditional(Run test for testVector[iTest]); 
    EnqueueConditional(Wait for test to finish); 
} 

...因爲測試向量字符串不存在for循環運行時。

任何想法?

感謝您的閱讀!

回答

1

所有你想要做的就是排隊另一個動作來稍後執行,它只是發生在這個動作包括排隊一些更依賴的動作。

你可以做的是排隊一個回調,直接或通過鏈接到另一種方法嵌套測試的其餘部分。

EnqueueCallback(...); 
... 
EnqueueCallback(() => 
{ 
    for(int iTest=0; iTest<20; iTest++) 
    { 
     EnqueueConditional(...); 
    } 
}); 

纔有可能不想再放入任何未嵌套在嵌套回調下方 - 可以執行/前嵌套的事情排隊。

+0

謝謝!沒想到我可以從Enquqe內部調用Enqueue。 – Richard