Я обнаружил, что хочу реализовать класс IAwaitable (то, что реализует асинхронные вызовы без блокировки потоков).
У меня установлена последняя версия AsyncCTP, и компилятор говорит, что мне нужен член IsCompleted ().Итак, предварительный просмотр CTP немного продвинулся (я понимаю, что это предварительный просмотр)
Вопрос: Какой интерфейс ожидают расширения языка AsyncCTP сейчас ?
Вопрос: Во всем этом я предполагаю, что могу сигнализировать "IAwaitable" через lamda / делегат?Это возможно?Мы называем EndAwait?Intellisense предполагает, что вы вызываете EndAwait для получения результата ... так что это не звучит правильно.Есть идеи?
Все примеры, которые я нашел до сих пор, относятся к функциям, которые уже реализована в библиотеке AsyncCTP, например:
await new WebClient().DownloadStringTaskAsync(uri).ConfigureAwait(false);
из 101 AsyncSamplesCS
Справочная информация:
Я нахожусь на странице Джона Скитса (снова), просматривая этот пример
using System;
class Test
{
static async void Main()
{
await new Awaitable();
}
}
class Awaitable
{
public Awaiter GetAwaiter()
{
return new Awaiter();
}
}
class Awaiter
{
public bool BeginAwait(Action continuation)
{
return false;
}
public int EndAwait()
{
return 1;
}
}