C# to the max! Continuations, co-routines and Source Generators!


Details
== C# continuations / coroutines and side project -- Andrew Nosenko (@noseratio)
Co-routines are functions that yield and execute cooperatively. Coroutines are handy for script-like scenarios where the code flow can be suspended and resumed after each logical step. In C# world, they have been popularised by Unity game development platform. Internally, they are just a syntax sugar for compiler-generated state machines, e.g. Unity uses IEnumerator-methods for that.
Prior to C# 8, it wasn't possible to combine await and return yield within the same method, making it difficult to use asynchrony inside coroutines. Now, with the compiler's support for IAsyncEnumerable and IAsyncEnumerator it can be done naturally. In this short talk we are going to explore one option of how it to implement asynchronous coroutines in C#.
== C# Source Generators -- David Wengier (@davidwengier)
Source generators are a new feature coming to the C# compiler in .NET 5/C# 9 that let you hook into the compilation pipeline and add things to the compilation. In this quick run through we’ll cover how they work, some possible uses, and some common questions and gotchas.

Sponsors
C# to the max! Continuations, co-routines and Source Generators!