Je veux mettre en file d'attente une liste de tâches, puis effectuer un certain événement. Code:Transférer le délégué avec le paramètre à une fonction
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;
}
}
Chaque tâche déléguée peut avoir sa propre liste de paramètres: Task (object [] args). Ma question est comment passer le paramètre à chaque tâche pour la file d'attente de tâches?
Passez quel paramètre? Vous n'avez pas vraiment expliqué ce que vous essayez de faire ... –
@Jon, clarifié dans la question. – Icerman
Pas vraiment ... vous avez dit que chaque tâche aura sa propre liste de paramètres, mais vous n'avez rien dit sur l'endroit où vous attendez d'obtenir ces données. –