Deciding between implementations of Roslyn Code Generator for an enum retrieval

Aspire .NET Global Tool Extension (https://github.com/ignatandrei/aspireExtensions/blob/main/src/DotNetGlobalToolsExtensions/README.md ) supports installing a .NET Tool by name. To have more easy for me, I have created an enum ( int64 ) with tools that I want to install automatically . The enum is Flag composable ( 1,2,4 …) – and I want to find the Sum value in order to install all.

Now, if I do not want to use Reflection to make the sum every time that leaves us with RoslynCodeGenerator . I have investigated already 8 examples with Enum –  how to decide between those ?

It was simpler than I thought – just 2 of them had Flags mentioned in the readme file.https://github.com/skarllot/EnumUtilities and https://github.com/andrewlock/NetEscapades.EnumGenerators 

Looking to the readme , I have found that Andrew put example with having the enum as an array . So this is it. However, how about using AI for this ?

I have installed Github MCP

“GithubMCPServer”: {

“url”: “https://api.githubcopilot.com/mcp/”,

“type”: “http”

        }

and this is the prompt:

With Github copilot mcp, please find if https://github.com/andrewlock/NetEscapades.EnumGenerators is better than https://github.com/skarllot/EnumUtilities . Compare last modified date of repo, number of stars and other criteria. Output as table

And after  work , the answer was:

Here is a comparison of the two repositories based on the latest available data:

Criteria NetEscapades.EnumGenerators EnumUtilities
Last Modified 2025-07-19 (commit), 2025-06-15 (release) 2025-07-30 (commit), 2025-06-19
(release)
Stars ~1,000 12
Forks 50 2
Watchers 8 3
Open Issues 9 7
Contributors 15 4
License MIT MIT
NuGet Package Yes (NetEscapades.EnumGenerators) Yes (Raiqub.Generators.EnumUtilities)
.NET SDK Required .NET 7+ .NET 6+
Benchmarks ToStringFast: extremely fast, low
allocations
Similar fast methods, also benchmarks
provided
Features Fast enum extensions, interceptors, attribute
support,
Fast enum extensions, JSON,
attributes,
C# 14 static extensions, good docs, widely
used
JSON converters, atomic ops, good docs
Activity High (many dependents, frequent commits, many
contributors)
Lower (fewer stars, forks,
contributors)

Summary:

  • NetEscapades.EnumGenerators is much more popular, has more contributors, is more widely used, and is very actively maintained.
  • EnumUtilities is newer, less popular, but also feature-rich and well-documented.

Conclusion:
For most users, NetEscapades.EnumGenerators is the better choice due to its popularity, maturity, and community support. However, if you need specific features from EnumUtilities (like advanced JSON support or atomic operations), it may be worth evaluating further.


Posted

in

, , ,

by

Tags: