Dev.Util.Core
1.2.2
See the version list below for details.
dotnet add package Dev.Util.Core --version 1.2.2
NuGet\Install-Package Dev.Util.Core -Version 1.2.2
<PackageReference Include="Dev.Util.Core" Version="1.2.2" />
<PackageVersion Include="Dev.Util.Core" Version="1.2.2" />
<PackageReference Include="Dev.Util.Core" />
paket add Dev.Util.Core --version 1.2.2
#r "nuget: Dev.Util.Core, 1.2.2"
#:package Dev.Util.Core@1.2.2
#addin nuget:?package=Dev.Util.Core&version=1.2.2
#tool nuget:?package=Dev.Util.Core&version=1.2.2
Dev.Util.Core
The foundation of the Dev.Util ecosystem. This package provides high-performance extension methods, robust guard clauses, and essential utilities for every .NET project.
📦 Installation
dotnet add package Dev.Util.Core
✨ Features
- 🛡️ Guard Clauses: Bulletproof argument validation to prevent invalid state.
- 🔡 String Utilities: Humanizers, slugify, conversion, masking, and privacy helpers.
- 📅 Date/Time: Business days, age calculation, relative time (e.g., "5 mins ago").
- 📑 Enums: Retrieve user-friendly descriptions from
[Description]attributes. - 🔢 Numeric: Semantic range checking and percentage calculations.
- 🧩 Object Extensions: Fluent null checking and property access.
🛠 Usage Examples
1. Guard Clauses
Eliminate boilerplate null and range checks at the start of your methods.
using Dev.Util.Core;
public void register_user(string username, int age, string email)
{
// Basic checks
Guard.Against.NullOrWhiteSpace(username, nameof(username));
Guard.Against.NegativeOrZero(age, nameof(age));
// Custom conditions
Guard.Against.Condition(age < 18, nameof(age), "Minors cannot register.");
// Email format (if using with Dev.Util.Web)
Guard.Against.InvalidEmail(email, nameof(email));
}
2. Advanced String Manipulation
From privacy masking to URL-friendly slugs.
using Dev.Util.Core;
// Privacy: Mask sensitive data
"1234567890".Mask(4); // "1234******"
"secret@example.com".Mask(2); // "se****************"
// Humanizer
"calculate_total_price".ToTitleCase(); // "Calculate Total Price"
// URL Slugs
"How to use Dev.Util in 2024!".Slugify(); // "how-to-use-dev-util-in-2024"
// Metrics
"This is a long sentence.".WordCount(); // 5
"This article takes about 1000 words...".ReadingTimeInMinutes(); // ~4
3. Date & Time Intelligence
Business logic for dates made simple.
using Dev.Util.Core;
DateTime dob = new DateTime(1995, 5, 10);
int age = dob.CalculateAge(); // 29
// Relative Time
DateTime past = DateTime.Now.AddMinutes(-5);
string text = past.ToRelativeTime(); // "5 minutes ago"
// Business Days
DateTime delivery = DateTime.Now.AddBusinessDays(3); // Skips weekends
4. Semantic Numeric Ranges
Write clearer logic for bounds checking.
using Dev.Util.Core;
double score = 85.5;
if (score.InRange(0, 100))
{
Console.WriteLine("Valid Grade");
}
int items = 10;
double tax = items.PercentOf(15); // 1.5
5. Enum metadata
Map technical enums to UI-friendly strings.
public enum OrderStatus {
[Description("Order is Pending")]
Pending,
[Description("Shipped to Customer")]
Shipped
}
string label = OrderStatus.Pending.GetDescription(); // "Order is Pending"
Use Dev.Util.Core as a prerequisite for other modules like Dev.Util.Tasks for a seamless fluent experience.
| 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 | 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.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (10)
Showing the top 5 NuGet packages that depend on Dev.Util.Core:
| Package | Downloads |
|---|---|
|
Dev.Util.Security
Cryptography and Hashing utilities for the Dev.Util ecosystem. |
|
|
Dev.Util.Tasks
Async, Task, and Threading helpers for the Dev.Util ecosystem. |
|
|
Dev.Util.Web
Web and URL utilities for the Dev.Util ecosystem. |
|
|
Dev.Util.IO
File system and compression utilities for the Dev.Util ecosystem. |
|
|
Dev.Util.Reflection
Runtime type inspection and reflection utilities for the Dev.Util ecosystem. |
GitHub repositories
This package is not used by any popular GitHub repositories.