Это метод, о котором идет речь:
public void StartBatchProcessing(IFileBatch fileBatch)
{
var dataWarehouseFactsMerger = m_dataWarehouseFactsMergerFactory.Create(fileBatch);
dataWarehouseFactsMerger.Merge();
if(!m_isTaskStarted)
{
m_isTaskStarted = true;
m_lastQueuedBatchProcessingTask = new TaskFactory().StartNew(() => ProcessBatch(dataWarehouseFactsMerger));
}
else
{
m_lastQueuedBatchProcessingTask = m_lastQueuedBatchProcessingTask.ContinueWith(previous => ProcessBatch(dataWarehouseFactsMerger));
}
}
Как вы видите, я использую TPL для постановки задач в очередь одна за другой, и я хотел бы проверить, что задачи будут выполняться в том порядке, в котором они поступят, как только завершится предыдущая.
Метод ProcessBatch защищен, поэтому я думаю, что он может быть перезаписан в производном классе и использоваться для установки какого-либо флага или чего-либо и утверждать это.
Все идеи приветствуются и ценятся.