Mahdhi.GuardFluently.Core
1.0.1
dotnet add package Mahdhi.GuardFluently.Core --version 1.0.1
NuGet\Install-Package Mahdhi.GuardFluently.Core -Version 1.0.1
<PackageReference Include="Mahdhi.GuardFluently.Core" Version="1.0.1" />
paket add Mahdhi.GuardFluently.Core --version 1.0.1
#r "nuget: Mahdhi.GuardFluently.Core, 1.0.1"
// Install Mahdhi.GuardFluently.Core as a Cake Addin #addin nuget:?package=Mahdhi.GuardFluently.Core&version=1.0.1 // Install Mahdhi.GuardFluently.Core as a Cake Tool #tool nuget:?package=Mahdhi.GuardFluently.Core&version=1.0.1
<h1 align=center> <img src="Assets/logo/logo.svg" > </h1>
Intoduction
This is a simple library that helps you to use Microsoft.Toolkit.Diagnostics.Guard extensions with more fluency.
The idea is not new, I tried to copy some code and personalize some code from the project FluentAssertions.
So thank you FluentAssertions' guys ❤️❤️❤️
How to use?
Let's say we have a service SomeService
that defince the following method:
public void DoSomeCall(string name, object length)
{
// do something
}
Here you will sure need to make some checks for your parameters name
and length
.
Let's say :
- the
name
shouldn't be null and should have at least 10 chars. - the
length
should be assignable to the typeint
In this case your check can look like this,
public void DoSomeCall(string name, object length)
{
//guard
name.Should()
.NotBeNullOrWhiteSpace()
.And
.HaveLengthGreaterThan(10);
length.Should().BeAssignableTo(typeof(int));
// do something
}
In this example there are three exceptions that can be thrown:
System.ArgumentNullException
: Thrown ifname
is null.System.ArgumentException
: Thrown ifname
is empty or whitespace.System.ArgumentException
: Thrown iflength
is not assignable to the typeint
.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. 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. |
-
net6.0
- Microsoft.Toolkit.Diagnostics (>= 7.1.2)
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.0.1 | 978 | 4/7/2022 |
First Release