11:40 - 12:40 (UTC+01)
Talk (60 min)
Roslyn Source Generators - Never send a human to do a machine's job
.NET Source Generators are the latest metaprogramming technique to add C# code to your compilation. They help us automate tedious implementations of common patterns, and enable replacing Reflection-based logic with high-performance strongly typed solutions. Additionally, C# 9.0 adds module initializers and extends partial methods to furthermore support code generation. Not only would I like to show you these language features plus the basic mechanics of adding sources and reporting diagnostics via Generators, but also cover a selection of advanced topics, such as unit testing (both the Generator and its generated code), code coverage, mutation testing, benchmarking, and how to use nullable reference types within .NET Standard 2.0 Generator-Projects. As a bonus, I shall deliver a suite of (web) tools to kick-start your journey. TL;DR - C# Source Generators: Would you like to know more?