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 |
---|---|
.NET | net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows |
-
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 | 344 | 4/7/2022 |
First Release