Decode.Extensions
1.0.2
dotnet add package Decode.Extensions --version 1.0.2
NuGet\Install-Package Decode.Extensions -Version 1.0.2
<PackageReference Include="Decode.Extensions" Version="1.0.2" />
<PackageVersion Include="Decode.Extensions" Version="1.0.2" />
<PackageReference Include="Decode.Extensions" />
paket add Decode.Extensions --version 1.0.2
#r "nuget: Decode.Extensions, 1.0.2"
#:package Decode.Extensions@1.0.2
#addin nuget:?package=Decode.Extensions&version=1.0.2
#tool nuget:?package=Decode.Extensions&version=1.0.2
Decode.Extensions
General purpose extension methods for .NET basic types, designed to simplify common operations like type conversion, enum parsing, and validation.
📦 Installation
dotnet add package Decode.Extensions
🛠️ Usage
1. Object Extensions (Type Conversion)
The library provides a suite of methods to handle type conversion safely and concisely.
Basic Conversion (To<T>)
Converts an object to a target type.
string input = "100";
int value = input.To<int>();
Safe Conversion with Default (ToOrDefault<T>)
Returns the default value of T if the input is null or conversion fails.
string? invalidInput = "abc";
int value = invalidInput.ToOrDefault<int>(); // returns 0
Safe Conversion to Nullable (ToOrNull<T>)
Returns null if the input is null or conversion fails (for value types).
string? input = "not a number";
int? value = input.ToOrNull<int>(); // returns null
2. Enum Extensions
Parse to Enum (ToEnum<T>)
string statusStr = "Active";
var status = statusStr.ToEnum<UserStatus>();
Safe Parse to Enum (ToEnumOrNull<T>)
string? invalidStatus = "UnknownValue";
var status = invalidStatus.ToEnumOrNull<UserStatus>(); // returns null
3. Validation
Check if Parseable (IsParseableTo<T>)
Returns true if the conversion is possible without throwing an exception.
object rawValue = "123";
if (rawValue.IsParseableTo<int>())
{
// safe to convert
}
📄 License
MIT License.
| 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 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 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 | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | 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.1
- No dependencies.
-
net8.0
- No dependencies.
-
net9.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.