Odin.System.StringEnum
0.9.32
See the version list below for details.
dotnet add package Odin.System.StringEnum --version 0.9.32
NuGet\Install-Package Odin.System.StringEnum -Version 0.9.32
<PackageReference Include="Odin.System.StringEnum" Version="0.9.32" />
<PackageVersion Include="Odin.System.StringEnum" Version="0.9.32" />
<PackageReference Include="Odin.System.StringEnum" />
paket add Odin.System.StringEnum --version 0.9.32
#r "nuget: Odin.System.StringEnum, 0.9.32"
#:package Odin.System.StringEnum@0.9.32
#addin nuget:?package=Odin.System.StringEnum&version=0.9.32
#tool nuget:?package=Odin.System.StringEnum&version=0.9.32
About Odin.System.StringEnum
Odin.System.StringEnum, part of the OrDinary INfrastructure libraries, provides enum-like behaviour for a set of string values via StringEnum, as well as a useful StringEnumMemberAttribute.
Getting Started
1 - Define your string 'enum'
Create your string 'enum' class by inheriting from StringEnum and adding public string constant members.
public class LoaderTypes : StringEnum<LoaderTypes>
{
public const string File = "FILE";
public const string DynamicSql = "DYNAMIC-SQL";
}
2 - Use the class like an enum
if (loaderOptions.LoaderType == LoaderTypes.DynamicSql)
...
3 - Use the static HasValue(string value) convenience method
bool memberExists = LoaderTypes.HasValue("CUSTOM"); // returns false
4 - Enumerate all values via the static Values property
string message = $"Valid members are: {string.Join(" | ", LoaderTypes.Values)}"
5 - There is also a Validation attribute
public record LoaderEditModel : IValidatableObject
{
[Required(AllowEmptyStrings = false)]
[StringEnumMember<LoaderTypes>]
public required string Loader { get; set; }
...
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Odin.System.Result (>= 0.9.32)
-
net8.0
- Odin.System.Result (>= 0.9.32)
-
net9.0
- Odin.System.Result (>= 0.9.32)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Odin.System.StringEnum:
| Package | Downloads |
|---|---|
|
Odin.Email
Provides a simple EmailMessage object model and IEmailSender interface for out of the box sending of email through any email sending service. Mailgun, Office365 (via MS Graph) and SMTP currently supported. |
|
|
Odin.BackgroundProcessing.Abstractions
A now redundant abstraction of Hangfire's job processing functionality for the original purpose of mocking Hangfire. Abstracts background processing related use cases via an IBackgroundProcessor interface, required in the days that Hangfire still has static entry points to its functionality. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.9.36-designcontractsv0019 | 167 | 12/22/2025 |
| 0.9.32 | 170 | 12/21/2025 |
| 0.9.25 | 165 | 12/21/2025 |
| 0.9.21 | 168 | 12/21/2025 |
| 0.9.11 | 310 | 12/19/2025 |
| 0.9.10 | 303 | 12/19/2025 |
| 0.9.9 | 265 | 12/18/2025 |
| 0.9.8 | 243 | 12/15/2025 |
| 0.9.7 | 228 | 12/15/2025 |
| 0.9.6 | 224 | 12/15/2025 |
| 0.9.5 | 227 | 12/15/2025 |
| 0.9.4 | 220 | 12/15/2025 |
| 0.9.3 | 398 | 12/11/2025 |
| 0.9.2 | 400 | 12/11/2025 |
| 0.9.1 | 424 | 12/9/2025 |
| 0.9.0 | 348 | 12/8/2025 |
| 0.4.16 | 198 | 12/7/2025 |
| 0.4.14 | 124 | 12/6/2025 |
| 0.4.13 | 119 | 12/6/2025 |
| 0.4.12 | 127 | 12/6/2025 |
| 0.4.11 | 166 | 12/5/2025 |
| 0.4.7 | 168 | 12/5/2025 |
| 0.4.6 | 167 | 12/5/2025 |