Microsoft.Bcl.Async
позволяет разработчикам использовать async/await
ключевые слова без .NET Framework 4.5, для которых они предназначены для их использования.
Это здорово, благодаря невероятно тяжелой работе людей в CLR и языковых командах Microsoft.
Теперь мне любопытно, как это может работать.
async/await
требует от компилятора сделать тяжелый подъем, чтобы превратить код в то, что может ожидать ожидание операций.
Компилятор изначально генерирует ошибки компиляции в .NET Framework 4.0, даже если он четко знает, что означает async/await
(Visual Studio 2012/2013.)
Итак, как эта библиотека сообщает компилятору не бросать определенные ошибки компиляции, связанные с асинхронными операциями, и делать некоторый код, как и в .NET Framework 4.5?