En este código:La lista <T> como parámetro 'out' provoca un error. ¿Por qué?
public bool SomeMethod(out List<Task> tasks)
{
var task = Task.Factory.StartNew(() => Process.Start(info));
tasks.Add(task);
}
consigo un error, "Uso de parámetro asignado a cabo tareas ''". ¿Por qué?
En un ejemplo de MSDN Hay sólo tiene que utilizar el parámetro de out
class OutExample
{
static void Method(out int i)
{
i = 44;
}
static void Main()
{
int value;
Method(out value);
// value is now 44
}
}
¿Es debido a List<T>
?
Y después de salir SomeMethod 'tareas' originales tendrá elementos de este SomeMethod?Lo pregunto porque hay muchos hilos en este momento, no todos funcionan correctamente, así que no puedo verificarlo – Saint
No puedo pasar de valor porque necesito recoger toda la "tarea" en una clase superior – Saint
No existe tal cosa como pasando 'List' por valor. Es un tipo de referencia, no un tipo de valor. –