我想排队一个任务列表,然后在某些事件上执行。代码:将代表与参数一起传递给一个函数
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