Jcd.RichEnumerations
0.2.51
Prefix Reserved
dotnet add package Jcd.RichEnumerations --version 0.2.51
NuGet\Install-Package Jcd.RichEnumerations -Version 0.2.51
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Jcd.RichEnumerations" Version="0.2.51" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Jcd.RichEnumerations --version 0.2.51
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Jcd.RichEnumerations, 0.2.51"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Jcd.RichEnumerations as a Cake Addin #addin nuget:?package=Jcd.RichEnumerations&version=0.2.51 // Install Jcd.RichEnumerations as a Cake Tool #tool nuget:?package=Jcd.RichEnumerations&version=0.2.51
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Jcd.RichEnumerations
A netstandard2.0 library that provides DDD-style rich enumeration base types for both plain old
classes and record
types.
Examples
// define the rich enum type.
using Jcd.RichEnumerations.Wrappers
// Derive from a simplifying wrapper. In this case one that already defines the description property.
public class MyRichEnum(int value, string description) : DescribedRichEnum<MyRichEnum>(value,description)
{
public static readonly MyRichEnum Item1 = new(1, "Item 1");
public static readonly MyRichEnum Item2 = new(2, "Item 2");
public static readonly MyRichEnum Item3 = new(3, "Item 3");
}
// use the values
int userInput = GetUserInput();
// use the conversion operator to convert the raw number into an instance of the RichEnum.
var ev = (MyRichEnum) userInput;
if (ev == MyRichEnum.Item1) {
//.. do something specific to Item1 being selected.
}
Badges
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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- Jcd.BitManipulation (>= 3.0.124)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Jcd.RichEnumerations:
Package | Downloads |
---|---|
Jcd.Units
Provides types and extensions methods for unit of measure based, quantity comparisons, conversions, and arithmetic, as well as an extensive unit of measure catalog. |
GitHub repositories
This package is not used by any popular GitHub repositories.