tengo este método que se inicia una tarea y devuelve la última tarea cahined para obtener el resultado:¿Cómo puedo iniciar una instancia de tarea de continuación?
public Task<double> GetTask()
{
return Task.Factory.StartNew((() => 10))
.ContinueWith(i =>
{
return i.Result + 2;
})
.ContinueWith(i =>
{
return (double)i.Result;
});
}
me gustaría tener el mismo método de devolución de la misma tarea, pero sin iniciarlo automáticamente con el Task.Factory .StartNew así:
public Task<double> GetTask2()
{
return new Task<int>((() => 10))
.ContinueWith(i =>
{
return i.Result + 2;
})
.ContinueWith(i =>
{
return (double)i.Result;
});
}
de todos modos yo no era capaz de encontrar una manera de empezar la tarea devuelta por GetTask2 y obtener el resultado. ¿Cómo puedo comenzar y obtener el resultado?
Esto no funcionará. Necesita comenzar la primera tarea original. No es el último de la cadena. – usr
¿Por qué? Esa no es la pregunta. Simplemente crea una instancia de la tarea desde el método. Entonces comienza. Sencillo. – MoonKnight
Está llamando a comenzar en la tarea de continuación. No puede iniciar la tarea de continuación. Se iniciará automáticamente cuando se complete su antecedente. No puedes obligarlo a comenzar. – usr