SORU
22 Kasım 2010, PAZARTESİ


Tamamlanan bir Görev oluştur<T>

Task<Result> StartSomeTask() ve zaten bebekten önce neden biliyor denilen bir yöntem uygulamaya çalışıyorum. Nasıl zaten tamamlandı Task<T> oluşturabilirim?

Bu şu anda yaptığım şeydir:

private readonly Result theResult = new Result();

public override Task<Result> StartSomeTask()
{
    var task = new Task<Result>(() => theResult);
    task.RunSynchronously(CurrentThreadTaskScheduler.CurrentThread);
    return task;
}

Daha iyi bir çözüm var mı?

CEVAP
22 Kasım 2010, PAZARTESİ


private readonly Result theResult = new Result();

public override Task<Result> StartSomeTask()
{
    var taskSource = new TaskCompletionSource<Result>();
    taskSource.SetResult(theResult);
    return taskSource.Task;
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • boniver

    boniver

    17 NİSAN 2006
  • Māris Zaharovs

    Māris Zahar

    28 Mayıs 2008
  • SamsTech

    SamsTech

    4 NİSAN 2014