Skip to content

Replace EnumUtils with a source generator #568

@Meir017

Description

@Meir017

Feature request type

enhancement

Is your feature request related to a problem? Please describe

The logic in the EnumUtils is heavily relying on Dictionaries for optimizing the performance of converting the description attribute of an enum value to the enum and back

Describe the solution you'd like

We could do better and have a source generator generate static methods that have a fast switch-case that will perform better than looking up in a dictionary (and in some flows having additional logic)

Describe alternatives you've considered

No response

Additional context

we could use https://github.com/andrewlock/NetEscapades.EnumGenerators (see https://andrewlock.net/netescapades-enumgenerators-a-source-generator-for-enum-performance/) which also support the Description attribute

or maybe https://www.nuget.org/packages/Microsoft.Extensions.EnumStrings but it's not clear what the state of this is due to dotnet/extensions#4639

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requesthelp wantedExtra attention is needed

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions