我想排隊一個任務列表,然後在某些事件上執行。代碼:將代表與參數一起傳遞給一個函數
internal class MyClass
{
private Queue<Task> m_taskQueue;
protected MyClass()
{
m_taskQueue = new Queue<Task>();
}
public delegate bool Task(object[] args);
public void EnqueueTask(Task task)
{
m_taskQueue.Enqueue(task);
}
public virtual bool Save()
{
// save by processing work queue
while (m_taskQueue.Count > 0)
{
var task = m_taskQueue.Dequeue();
var workItemResult = task.Invoke();
if (!workItemResult)
{
// give up on a failure
m_taskQueue.Clear();
return false;
}
}
return true;
}
}
每個代表任務可以有自己的參數列表:任務(對象[]參數)。我的問題是如何將參數傳遞給任務隊列的每個任務?
傳遞哪個參數?你還沒有真正解釋你想要做什麼... – 2012-02-10 23:21:38
@Jon,在問題中澄清。 – Icerman 2012-02-10 23:28:31
不是......你說過每個任務都有它自己的參數列表,但是你沒有說什麼關於你希望從那裏獲取數據的地方。 – 2012-02-10 23:29:21