When building .NET applications, you often have to write repetitive code. Instead of manually writing that code, you can generate it with a C# Source Generator. In this course , Developing Source Generators in C#, you’ll learn how to use a C# Source Generator to analyze your code and to generate additional C# code while your project is compiling. First, you’ll explore what a C# Source Generator is and what problems it helps you to solve. Next, you will create a C# Source Generator. You will learn how to set it up, how to analyze the syntax of your code, how to generate a source file, and how to add that source file on the fly to the compilation. Finally, you’ll learn how to package the source generator in a NuGet package, so that you can use it in different .NET projects. When you're finished with this course, you’ll have the skills and knowledge of C# Source Generators needed to build and use C# Source Generators in your .NET projects.
Overview
When building .NET applications, you often have to write repetitive code. Instead of manually writing that code, you can generate it with a C# Source Generator. In this course , Developing Source Generators in C#, you’ll learn how to use a C# Source Generator to analyze your code and to generate additional C# code while your project is compiling. First, you’ll explore what a C# Source Generator is and what problems it helps you to solve. Next, you will create a C# Source Generator. You will learn how to set it up, how to analyze the syntax of your code, how to generate a source file, and how to add that source file on the fly to the compilation. Finally, you’ll learn how to package the source generator in a NuGet package, so that you can use it in different .NET projects. When you're finished with this course, you’ll have the skills and knowledge of C# Source Generators needed to build and use C# Source Generators in your .NET projects.
Syllabus
- Course Overview 1min
- Understanding C# Source Generators 27mins
- Setting up a C# Source Generator 17mins
- Generating Source Files 26mins
- Working with the Syntax API 50mins
- Adding a Marker Attribute 27mins
- Using the Semantic Model 66mins
- Packaging Your Source Generator 16mins
Taught by
Thomas Claudius Huber