C# Interceptors: Native AOT & Performance for Free | Stefan Pölz | .NET Day 2026
Would you like to know how incremental source generation and source-level interception grant you Native AOT & performance "for free"?
The just-in-time compiler (JIT) is a mighty beast of the .NET runtime. And it becomes more powerful with every consecutive release of .NET. But it comes along with a cost during run-time, when compiling the assemblies containing intermediate language code into machine code. A price we may not pay gladly for highly scalable cloud services. Native AOT, compiling deployments ahead-of-time into executable code, moves this complexity to compile-time. But features that utilize dynamic code emission may stop working.
As a solution serve Interceptors which were shipped as experimental C#-only feature in .NET 8 and became GA in .NET 9. An interceptor is basically the inverse of a goto statement that enables the Roslyn compiler to replace reflection-based call sites with specialized implementations. Emitted from (incremental) source generators, codebases become more trimmable, more Native AOT-friendly and can unlock better performance.
May Roslyn be with you!
Speaker: Stefan Pölz, FlashOWare
GitHub: https://github.com/Flash0ver
YouTube: https://www.youtube.com/@FlashOWare/
Mastodon: https://dotnet.social/@0x_F0
Bluesky: https://bsky.app/profile/flash0ver.bsky.social
X: https://twitter.com/0x_F0
Recorded at JetBrains .NET Day Online 2026, a free online event for the .NET community.
Watch all .NET Day 2026 talks: https://www.youtube.com/playlist?list=PLDygEnTxhRkc
Explore JetBrains tools for .NET: https://www.jetbrains.com/dotnet/
#JBDotNetDay #dotnet #csharp
Science & Technology
#JetBrains
#software development
#developer tools
#programming
#developer