A monthly meeting of professional and enthusiast software developers, discussing all things .NET (Microsoft and open source), as well as languages, web frameworks, IoT, cloud, back end, testing, mobile and other related topics. Find out more at https://www.adnug.net
Generating source code is not a new technology, and there are lots of different offerings out there available for you to use, or that you may in fact be using right now. Tools like PostSharp, Fody, CodeSmith, and many, many more.
What is new however, with C# 9 and .NET 5, is a formal source generation offering from Microsoft, taking advantage of a unique opportunity that only the Roslyn team can provide, that lets you run your generator inside the compiler pipeline, with access to the internal data structures the compiler produces.
In this session we'll cover source generators in general, deep dive into the C# 9 offering, and then run through some examples, talk about the possibilities, and leave you with no shortage of ideas for your own generators that you can run wild with.
When all you have is a hammer, everything looks like a nail, and with source generators in your toolbelt, you won't look at that slow old reflection code the same way ever again.
David is a developer at Microsoft, working on Roslyn, also known as the C#/VB compiler and IDE tools, in Visual Studio.
A developer for the last 20 years, David has had experience in lots of different languages and environments, from cgi-bin scripts in Perl, to genetic algorithms in VB3, and Windows applications in COBOL. A series of terrible decisions, clearly, but he learnt in the end and now spends most of his time developing with .NET in C#, and enabling other developers to do the same.
David is mostly interested in C#, good design and Lego Technic and Creator Expert cars. He can be found tweeting at @davidwengier, streaming at https://twitch.tv/davidwengier, helping to organize the DDD Melbourne conference, and on about a dozen different slacks and discords.
This meeting will be run online using Microsoft Teams.
This is a lunchtime event, and is free, thanks to Encode Talent!