UmbrellaFrame.EnumMeta
1.6.0
dotnet add package UmbrellaFrame.EnumMeta --version 1.6.0
NuGet\Install-Package UmbrellaFrame.EnumMeta -Version 1.6.0
<PackageReference Include="UmbrellaFrame.EnumMeta" Version="1.6.0" />
<PackageVersion Include="UmbrellaFrame.EnumMeta" Version="1.6.0" />
<PackageReference Include="UmbrellaFrame.EnumMeta" />
paket add UmbrellaFrame.EnumMeta --version 1.6.0
#r "nuget: UmbrellaFrame.EnumMeta, 1.6.0"
#:package UmbrellaFrame.EnumMeta@1.6.0
#addin nuget:?package=UmbrellaFrame.EnumMeta&version=1.6.0
#tool nuget:?package=UmbrellaFrame.EnumMeta&version=1.6.0
<p align="center"> <img src="https://raw.githubusercontent.com/UmbrellaFrameHQ/EnumMeta/master/assets/umbrellaframe-enummeta-icon.png" width="180" alt="UmbrellaFrame.EnumMeta logo" /> </p>
<h1 align="center">UmbrellaFrame.EnumMeta</h1>
<p align="center"> <a href="https://www.nuget.org/packages/UmbrellaFrame.EnumMeta"><img src="https://img.shields.io/badge/NuGet-ready-004880?style=flat-square" alt="NuGet ready" /></a> <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square" alt="MIT license" /></a> <a href="https://learn.microsoft.com/dotnet/standard/net-standard"><img src="https://img.shields.io/badge/.NET%20Standard-2.0-purple?style=flat-square" alt=".NET Standard 2.0" /></a> </p>
Language / Dil: English - Turkce
English
Enum metadata layer for centralized status, message, and info management in .NET
Zero database dependency - cached reflection - safe Try... APIs - typed metadata models.
Installation
dotnet add package UmbrellaFrame.EnumMeta
Quick Start
using UmbrellaFrame.EnumMeta.Core;
public enum OperationStatus
{
[Status("Operation completed.", StatusType.Success)]
Completed = 0,
[Status("Operation requires attention.", StatusType.Warning)]
RequiresAttention = 1,
[Status("Operation failed.", StatusType.Error, Code = "OPERATION_FAILED", ExternalCode = "OPS-500")]
Failed = 2
}
var metadata = OperationStatus.Failed.GetStatusMetadata();
Console.WriteLine(metadata.Message);
Console.WriteLine(metadata.Code);
Console.WriteLine(metadata.IsError);
Safe boundary lookup:
var status = (OperationStatus)externalStatusCode;
if (status.TryGetStatusMetadata(out var metadata))
{
Console.WriteLine(metadata.Message);
}
Custom Message Sources
EnumMeta does not own your localization source. Resolve messages from .resx, database, JSON, cache, or any service you prefer.
var message = OperationStatus.Failed.GetLocalizedMessage(
(status, culture) => myMessageProvider.GetMessage(status.ToString(), culture),
"tr");
Strongly Typed Reads
var metadata = OperationStatus.Failed.GetStatusMetadata<OperationStatus, StatusType>();
OperationStatus value = metadata.Value;
StatusType type = metadata.Type;
Included APIs
| API | Description |
|---|---|
[Status] |
Status message, severity, and optional mapping codes |
[Info] |
Ordered display metadata |
GetStatusMetadata() |
Typed status metadata |
TryGetStatusMetadata(out StatusMetadata) |
Safe status metadata lookup |
GetStatusMetadata<TValue, TType>() |
Strongly typed status metadata |
TryGetStatusMetadata<TValue, TType>(out StatusMetadata<TValue, TType>) |
Safe strongly typed status lookup |
GetInfoMetadata() |
Typed info metadata |
TryGetInfoMetadata(out InfoMetadata) |
Safe info metadata lookup |
GetEnumInfoOrDefault(InfoType, string) |
Info value with fallback |
GetResolvedMessage(Func<Enum, string>, string) |
Message from a caller-owned source |
GetLocalizedMessage(Func<Enum, CultureInfo, string>, string, string) |
Localized message from a caller-owned source |
Turkce
.NET icin merkezi enum durum, mesaj ve bilgi metadata katmani
Veritabani bagimliligi yok - cache'li reflection - guvenli Try... API'leri - tiplenmis metadata modelleri.
Kurulum
dotnet add package UmbrellaFrame.EnumMeta
Hizli Baslangic
using UmbrellaFrame.EnumMeta.Core;
public enum OdemeDurumu
{
[Status("Odeme basariyla tamamlandi.", StatusType.Success)]
Tamamlandi = 0,
[Status("Odeme kontrol bekliyor.", StatusType.Warning)]
KontrolBekliyor = 1,
[Status("Odeme basarisiz oldu.", StatusType.Error)]
Basarisiz = 2
}
var metadata = OdemeDurumu.Basarisiz.GetStatusMetadata();
Console.WriteLine(metadata.Message);
Console.WriteLine(metadata.IsError);
Lisans
MIT (c) UmbrellaFrame
| 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. net9.0 was computed. 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 was computed. 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. |
| .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.6.0 | 89 | 7/18/2026 |
Added status codes, external codes, strongly typed status metadata APIs, and caller-owned message resolver APIs.