Supernova.Enum.Generators
1.0.8
See the version list below for details.
dotnet add package Supernova.Enum.Generators --version 1.0.8
NuGet\Install-Package Supernova.Enum.Generators -Version 1.0.8
<PackageReference Include="Supernova.Enum.Generators" Version="1.0.8" />
paket add Supernova.Enum.Generators --version 1.0.8
#r "nuget: Supernova.Enum.Generators, 1.0.8"
// Install Supernova.Enum.Generators as a Cake Addin #addin nuget:?package=Supernova.Enum.Generators&version=1.0.8 // Install Supernova.Enum.Generators as a Cake Tool #tool nuget:?package=Supernova.Enum.Generators&version=1.0.8
Supernova.Enum.Generators
C# Better Enums Source Generator
A C# source generator to create an enumeration class from an enum type. With this package, you can work on enums very, very fast without using reflection.
Package - Supernova.Enum.Generators
Add the package to your application using
dotnet add package Supernova.Enum.Generators
Adding the package will automatically add a marker attribute, [EnumGenerator]
, to your project.
To use the generator, add the [EnumGenerator]
attribute to an enum. For example:
[EnumGenerator]
public enum UserType
{
Men,
Women,
}
This will generate a class called MyEnumExtensions
(by default), which contains a number of helper methods. For example:
public static class UserTypeTestEnumExtensions
{
public static string StringToFast(this UnitTests.UserTypeTest states)
{
return states switch
{
UnitTests.UserTypeTest.Men => nameof(UnitTests.UserTypeTest.Men),
UnitTests.UserTypeTest.Women => nameof(UnitTests.UserTypeTest.Women),
UnitTests.UserTypeTest.None => nameof(UnitTests.UserTypeTest.None),
_ => throw new ArgumentOutOfRangeException(nameof(states), states, null)
};
}
public static bool IsDefined(UnitTests.UserTypeTest states)
{
return states switch
{
UnitTests.UserTypeTest.Men => true,
UnitTests.UserTypeTest.Women => true,
UnitTests.UserTypeTest.None => true,
_ => throw new ArgumentOutOfRangeException(nameof(states), states, null)
};
}
public static bool IsDefined(string states)
{
return states switch
{
nameof(UnitTests.UserTypeTest.Men) => true,
nameof(UnitTests.UserTypeTest.Women) => true,
nameof(UnitTests.UserTypeTest.None) => true,
_ => throw new ArgumentOutOfRangeException(nameof(states), states, null)
};
}
}
Benchmark
Contributing
Create an issue if you find a BUG or have a Suggestion or Question. If you want to develop this project :
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request
Give a Star! ⭐️
If you find this repository useful, please give it a star. Thanks!
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.17 | 5,073 | 3/29/2024 |
1.0.16 | 146 | 3/19/2024 |
1.0.15 | 9,732 | 2/29/2024 |
1.0.14 | 157 | 2/23/2024 |
1.0.13 | 13,641 | 12/4/2022 |
1.0.12 | 1,311 | 5/31/2022 |
1.0.11 | 460 | 5/28/2022 |
1.0.10 | 424 | 5/27/2022 |
1.0.9 | 425 | 5/26/2022 |
1.0.8 | 430 | 5/26/2022 |
1.0.7 | 418 | 5/26/2022 |
1.0.5 | 414 | 5/26/2022 |
1.0.4 | 441 | 5/26/2022 |
1.0.0 | 467 | 5/26/2022 |