我正在编写依赖于测试开始时加载的数据的Silverlight测试,如下所示:
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循环运行时测试向量字符串不存在。
有什么想法吗?
感谢阅读!
答案 0 :(得分:1)
您要做的就是将另一个操作排队以便稍后执行,只是此操作包括对一些更依赖的操作进行排队。
你可以做的是将一个回调嵌入你的测试的其余部分,直接或通过链接到另一个方法。
EnqueueCallback(...);
...
EnqueueCallback(() =>
{
for(int iTest=0; iTest<20; iTest++ )
{
EnqueueConditional( ... );
}
});
可能不希望在嵌套回调下面放置任何未嵌套的东西 - 它可以在嵌套的东西之前执行/排队。