csharp-source-generators
A list of C# Source Generators (not necessarily awesome) and associated resources: articles, talks, demos.
https://github.com/amis92/csharp-source-generators
Last synced: 3 days ago
JSON representation
-
Articles
-
Other
- Series: Creating a source generator - 02-01) Complete series about how to create an incremental source generator, using the APIs introduced in .NET 6.
- Mastering at Source Generators - 01-15) Generating CRUD controller from DTO model using text template.
- Using C# Source Generators to create an external DSL - 01-27) that shows how to implement a simple DSL.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- .NET 5 Source Generators - MediatR - CQRS - OMG! - 12-16) explores how source generators can be used to automatically generate an API for a system using the MediatR library and the CQRS pattern.
- Source Generators in .NET 5 with ReSharper - 11-20) introduces source generators and briefly mentions how they are being worked into the ReSharper product.
- Source Generators - real world example - 11-09) contains a rich and deep dive into a real world generator with lots of useful tips.
- How to profile C# 9.0 Source Generators - 10-10) demonstrates how to profile your source generator using the [performance profiling tools built into Visual Studio](https://docs.microsoft.com/en-us/visualstudio/profiling/?view=vs-2019).
- How to Debug C# 9 Source Code Generators - 10-09) contains debugging tips.
- How to generate code using Roslyn source generators in real world scenarios - 09-17) rich story of how ThisAssembly generator was written using Scriban templates.
- .NET Blog 'New C# Source Generator Samples' post - 08-25) that shows some simple samples.
- .NET Blog 'Introducing C# Source Generators' post - 04-29) that announces the feature.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- .NET 5 Source Generators - MediatR - CQRS - OMG! - 12-16) explores how source generators can be used to automatically generate an API for a system using the MediatR library and the CQRS pattern.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
- Mastering at Source Generators - 01-15) Generating CRUD controller from DTO model using text template.
- 4 ways to generate code in C# — Including Source Generators in .NET 5 - 01-19) demonstrates the comparison between Source Generators, T4 template and Reflection, etc.
-
-
Demo, PoC and excercise projects
-
Other
- jakubsturc/talk-csharp-source-generators -   contains 4 generators: AutoNotify, ConsoleWritelineHijack, HelloWorld and SettingsXml, plus nice presentation slides.
- RyanAlameddine/SourceGeneratorDemo -   contains 3 demos: hello world, INPC and OpCode class.
- TMC-CSharp/CodeExerciseLibrary -   Library to help creating C# exercises. Generates missing methods and classes inside tests on the fly by using Source Generators.
- DpdtInject -   DI container based on C# Source Generators. Its goal is to remove everything possible from runtime and make resolving process as faster as we can. This is achieved by transferring huge piece of resolving logic to the compilation stage into the source generator.
- Compile Time Method Execution Generator -   proof of concept that allows executing a method during compilation, so that it can be really fast during runtime.
-
-
Documentation and samples
- dotnet/roslyn feature design document
- dotnet/roslyn cookbook
- dotnet/roslyn-sdk samples
- SourceGeneratorPlayground - an online Source Generator Playground to play with generator ideas 💡 without any setup noise. [Source repo](https://github.com/davidwengier/SourceGeneratorPlayground).
- davidwengier/SourceGeneratorTemplate -   A basic template for writing a C# source generator, from the Roslyn dev.
-
Meta - libs and generators for other generators
-
Other
- REPO -  
- AttributeFactoryGenerator -   - Generate factories to easily parse actual attribute instances from symbol data.
- AttributesSourceGeneratorHelper -   A source generator to help another generator by producing attributes. Anything that inherits from Attribute will be sent to the client so you don't have to build strings for attributes.
- CommonSourceGeneratorsHelpers -   A generator to create many helpers for source generators to use to make up that its very difficult to reference third party libraries in source generators including extensions and a source code string builder.
- HotReload -   - A simple hack to enable hot reload in Visual Studio Intellisense when developing a source generator project together with an example dependent client project inside a single solution.
- SourceGeneratorUtils -   An essential library equipped with utility functions and helpers to aid in writing source files for source generators or for general purposes. Based on the `System.Text.Json` source generator architecture for best-practices.
- SourceGenerator.Helper.CopyCode -   - A simple Generator that generates a string representation to an annotated Type.
-
-
Projects using custom Source Generators "internally"
-
Other
- Elskom/Sdk -   Dumps git repository data to assembly level metadata attributes that can be checked at runtime for things like trapping if a user is using an possibly unstable build of the libraries built in the repository and so the user can see a message about it (and optionally opt into running the possibly unstable code).
- Heroicons.AspNetCore -   [Heroicons](https://heroicons.com/) that are easy to use in ASP.NET Core MVC as TagHelpers.
- NetFabric.Hyperlinq -   generates overloads for its extension methods.
- RestEase -   uses Source Generator to generate interface implementations on compile time instead of in runtime via Reflection.Emit.
- WarHub/wham -   generates code for immutable tree object graph based on red-green node approach used in Roslyn; generates custom XmlSerializer that supports C#9 records and ImmutableArray.
- HydraScript -   TypeScript & Go inspired small interpreted programming language written in C# that uses Source Generator to build large regular expression for lexical analysis. The regex value is passed to `[GeneratedRegex]` attribute, so this internal generator generates the input for another generator.
-
-
Source Generators
-
Communication
- CoreWCF -   CoreWCF provides support of WCF server side code on .NET Core / .NET6. CoreWCF allows users to inject services into `OperationContract` implementation using a source generator to provide an `OperationContract` implementation that fits the expected `ServiceContract`. The supplied implementation fetch services from the DI container the same way the `[FromServices]` attribute works in ASP.NET core MVC Controllers. The source generator supports both a dedicated `[Injected]` attribute and the ASP.NET Core MVC `[FromServices]` attribute.
- Imp.NET -   - a fast, high-level, object-oriented C# networking library that supports the invocation of remote methods through proxy interface objects.
- IoTHubClientGenerator -   Build a C# Azure IoT Device client program in seconds!
-
Console / CLI
- AutoSpectre -   Generates a service for prompting and populating a class using the Spectre.Console library
- docopt.net -   generates C# source code that parses command-line arguments into a strong-typed arguments class (also generated), given _just_ the [POSIX-style usage in plain text](http://docopt.org/) as part of the CLI. In other words, write the help message for your program and get the entire parser generated for free!
- Figgle -   - Generate ASCII banner text at compile time (or run time) using figlet fonts.
- ConsoleAppFramework -   - Zero Dependency, Zero Overhead, Zero Reflection, Zero Allocation, AOT Safe CLI Framework powered by C# Source Generator.
-
Database / ORM
- AdaskoTheBeAsT.Identity.Dapper -   - Custom Dapper implementation for Microsoft.Extensions.Identity.Stores (part of ASP.NET Core Identity)
- Breezy -   Micro ORM with source generator.
- MapDataReader -   - Fast mapping `IDataReader` to a custom class
- SqlMarshal -   Native AOT friendly-performant mini-ORM. Generation of wrappers for accessing SQL using ADO.NET.
- Dynatello -   A source generator for the low-level API of DynamoDB.
- TableStorage -   Streamlined way of working with Azure Data Tables that mimics Entity Framework's way of working with DbSets. Source Generators for the Table Entities to avoid any reflection calls being made, making it easier to use Azure Data Tables in a NativeAOT project.
- EntityLengths.Generator -   Source Generator designed to automatically generate string length constants from Entity Framework configurations and data annotations.
- AutoDbSet -   Source Generator to automatically create `DbSet<T>` properties on the `DbContext` from marked entities
- NpgsqlSourceGenerators -   Source Generator to automatically register marked enums with NpgSQL for use with PostgreSQL
- Unflat -   ORM for zero allocation fast parsing into complex classes/structs with custom type parsers support
- Daikoz.SQLWrapper -   Generate ADO wrapper from SQL query on MariaDB and MySQL database. SQL Query checker and keep performance.
-
Dependency Injection (IoC Container)
- DependencyInjection.SourceGenerators - mll/Microsoft.Extensions.DependencyInjection.SourceGenerators?style=flat-square&cacheSeconds=604800)  This project is a C# source generator designed to simplify and automate the registration of dependencies in Microsoft's Dependency Injection service collection. By using this package, developers can enhance the clarity and efficiency of their code by reducing the need for manual service registration.
- AutoCtor -   AutoCtor is a Roslyn Source Generator that will automatically create a constructor for your class for use with constructor Dependency Injection.
- AutoRegisterInject -   Automatically generate Microsoft Dependency Injection ServiceCollection registrations for your classes from attributes.
- DependencyManagement -   The Dependency Management is a very fast dependency injection and components container, with many interesting features, and without reflection.
- GrpcInjection -   - GrpcInjection is a tool that allow you to inject Services and Interceptor in time of compilation inside of GRPC Projects using C# source generator.
- Injectio -   - Source generator that helps register discovered services in the dependency injection container
- Jab -   - Compile Time Dependency Injection
- lambdajection -   Framework for building AWS Lambdas using dependency injection and aspect-oriented programming.
- MrMeeseeks.DIE -   An unambigous, convenient, flexible and feature rich compile time dependency injection container.
- Pure.DI -   - dependency injection for .NET without any IoC/DI containers, frameworks, dependencies, and thus without any performance impact and side-effects.
- StrongInject -   - compile time dependency injection for .NET.
- Thunderboltloc -   One of the very first IoC frameworks for .Net that has no reflection.
- SourceDepend -   Simply tag members with a `[Dependency]` attribute and those will be added to the constructor, saving you from manual coding the constructor.
- ServiceScan.SourceGenerator -   Type scanning source generator for `Microsoft.Extensions.DependencyInjection` services registrations inspired by [Scrutor](https://github.com/khellang/Scrutor/).
- CircleDI -   The world only full-power circular Service Provider. It can resolve circular dependencies, has compile time safety and optimal performance.
-
Domain Driven Design (DDD)
- AltaSoft.DomainPrimitives -   - A C# toolkit purposefully designed to accelerate the development of domain-specific primitives within your applications. This streamlined solution empowers developers to efficiently encapsulate fundamental domain logic. Through this toolkit, you'll significantly reduce code complexity while improving the maintainability of your project.
- Architect.DomainModeling -   A complete Domain-Driven Design (DDD) toolset for implementing domain models, including base types and source generators for ValueObjects, WrapperValueObjects, Entities, and Identities.
- Minerals.AutoDomain -   This package provides a fast method of defining domain layer components with their specific implementation, such as aggregates, entities and domain events. Package has built-in strongly typed IDs.
-
Enums
- BetterEnums -   C# Enums with values and better performance as a source generator
- Credfeto.Enumeration.Source.Generation -   Enum to text generator for enums - generates strongly typed enums for all enums in the assembly, and using `EnumText` attribute for third party enums. Also includes an analyzer to ensure that all enum usages use the `.GetName` extension method rather than `.ToString`.
- Enum.Source.Generator -   A C# source generator to create an enumeration (enum) class from an enum type. With this package, you can work on enums very, very fast without using reflection.
- EnumClass -   Generate Kotlin's `enum class` from C# `enum` with additional features like Switch function (instead of `switch` statement). It also contains support libraries like generator for JsonConverter for generated classes
- EnumerationClassGenerator -   - A C# source generator to create an enumeration class from an enum type.
-
Categories
Sub Categories
Other
206
Patterns
24
Serialization
20
Functional Programming
17
Webprogramming
17
Dependency Injection (IoC Container)
15
Testing
13
Mappers
12
Enums
12
Database / ORM
11
XAML / WPF / Avalonia
9
Statically typed resources / configurations
5
Metaprogramming
5
Console / CLI
4
Localization
3
Domain Driven Design (DDD)
3
Text templating
3
Communication
3
Validation
2
Graphics / Drawing
2
Keywords
csharp-sourcegenerator
101
csharp
70
dotnet
64
source-generator
25
roslyn
25
sourcegenerator
24
source-generators
21
dotnet-core
11
dependency-injection
10
generator
9
dotnet-standard
8
performance
7
source-generation
7
c-sharp
7
roslyn-generator
6
enumeration
5
wpf
5
library
5
code-generation
5
ddd
5
roslyn-analyzer
5
codegenerator
5
code-generator
4
ioc
4
avaloniaui
4
mocking
4
enum
4
orm
4
winui
4
csharp-library
4
fast
4
nuget
4
json
4
mediator-pattern
4
mediator
4
inversion-of-control
4
linq
4
value-object
4
xaml
3
mapper
3
mapping
3
maui
3
mvvm
3
avalonia
3
validation
3
csharp9
3
domain-driven-design
3
netstandard
3
uno-platform
3
uwp
3