csharp-source-generators
NullGuard
Our great sponsors
csharp-source-generators | NullGuard | |
---|---|---|
9 | 6 | |
1,880 | 685 | |
- | -0.3% | |
7.6 | 8.1 | |
6 days ago | 15 days ago | |
C# | ||
Creative Commons Zero v1.0 Universal | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
csharp-source-generators
- Any type providers implemented in C# using source generators
-
Custom intellisense error or warning feedback?
I don't know of anything out of the box that would emit errors/warnings for a case like that, but if it was something you were dealing with often enough you could certainly write your own analyzer if one doesn't already exist.
-
Embedded source generation?
List of source generators: https://github.com/amis92/csharp-source-generators
-
What are the hardest topics in C#/.NET you would like to know more/better?
I also couldn't find many info in docs nor more advanced tutorials, but this list of source generators helped me as an inspiration.
-
Why is no-one using Roslyn token-based code generation with Source Generators?
I'm planning to rewrite all of our company's old T4-based codegen tools into Source Generators. I've been looking at how other Source Generators are implemented and what surprised me is that everyone seems to assemble the output code manually as text with string builders or at best some simple templating engine (eg. Scriban). I expected that I would see a lot of projects assembling their output code from Roslyn tokens and then using Roslyn's formatter to produce the actual code that can be emitted into the output file(s), like this article demonstrates. No-one seem to be doing that though. Why?
-
Source generator library
Start from here: C# Source Generators
-
Getting into source generators in .Net
Look here under 'Tips & Tricks'
-
The C# Source Generators revolution
Source generators colletion
-
HttpClientGenerator is a tool that uses the Roslyn code generator feature to write boilerplate HttpClient code for you.
Add it to this list https://github.com/amis92/csharp-source-generators
NullGuard
- How to write C# source code generator to generate ArgumentNullException.ThrowIfNull?
-
Which do you guys mostly use to prevent nulls? Null object pattern/special case, throw exceptions or the FP Option monad?
Nullable reference types + https://github.com/Fody/NullGuard
- That Shouldn't Happen - UnreachableException in .NET 7
-
Will we ever get a new CLR language to replace C# Like Kotlin did for Java?
I find Nullable Reference Types combined with NullGuard to be pretty good.
-
HttpClientGenerator is a tool that uses the Roslyn code generator feature to write boilerplate HttpClient code for you.
For example here from the readme I can exactly see what boilerplate is generated for me.
-
How to get rid of NullPointerException
Some tools can help to enforce this convention like ReSharper and NullGuard. I guess, although I haven’t tried this yet, you can add a custom rule to SonarQube which will alert when the word null appears.
What are some alternatives?
Roslyn - The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.
maui-linux - .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
dotnet - .NET Community Toolkit is a collection of helpers and APIs that work for all .NET developers and are agnostic of any specific UI platform. The toolkit is maintained and published by Microsoft, and part of the .NET Foundation.
Optional - A robust option type for C#
ResXFileCodeGenerator - VocaDb.ResXFileCodeGenerator is a C# source generator to generate strongly-typed resource classes for looking up localized strings.
HttpClientCodeGenerator - HttpClientGenerator is a tool that uses the Roslyn code generator feature to write boilerplate HttpClient code for you.
stronginject - compile time dependency injection for .NET
dotnet-options-generator - Generate and register IOptions from appsettings.json at compile-time with source generators.
GodotOnReady - A C# Source Generator that adds convenient onready-like features to your C# scripts in Godot Mono (3.x) without any reflection.
PDF.Flow.Examples - Samples, articles, issue reporting and documentation related to Gehtsoft PDF.Flow library.
jab - C# Source Generator based dependency injection container implementation.