2013-12-05 2 views
3

Я пытаюсь создать портативную библиотеку классов (.NET 4.5/Silverlight 5/Win Phone 8/WinRT), которая использует набор функций async/await. Я обнаружил, что мне нужно включить пакет NuGet Microsoft.Bcl.Async, чтобы эта функция работала, поэтому я сделал именно это. По-видимому, из-за моих целей у меня нет доступа к Task.Delay(0) или Task.FromResult(0). Мне было интересно, какая следующая лучшая альтернатива?Есть ли альтернатива Task.Delay (0) и Task.FromResult (0)?

В настоящее время я использую: new Task(() => { }) (. В основном, задача, которая не выполняет каких-либо действий)

Я не уверен, что это лучший эквивалент либо из упомянутых выше моделей.


Обновление: Видимо, я слепой и не видел TaskEx в моем меню IntelliSense. Я оставляю вопрос открытым, чтобы люди знали, что он есть, просто легко пропустить, потому что мой intellisense сохранял автозаполнение до TaskExtensions.

+3

Какова цель 'Task.Delay (0)'? –

+1

В зависимости от этой цели, вполне возможно, что 'Task.Yield' (' TaskEx.Yield'?) Более уместен. – hvd

+0

Связано также: [Как поставить задачу для сна (или задержки) в C# 4.0?] (Http://stackoverflow.com/questions/15341962/how-to-put-a-task-to-sleep-or- задержит-в-с-острым 4-0/15342256 # 15342256) – Servy

ответ

14

FromResult и Delay находятся на TaskEx в библиотеке Microsoft.Bcl.Async.

Смежные вопросы