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" />
<PackageVersion Include="Mahdhi.GuardFluently.Core" Version="1.0.1" />
<PackageReference Include="Mahdhi.GuardFluently.Core" />
paket add Mahdhi.GuardFluently.Core --version 1.0.1
#r "nuget: Mahdhi.GuardFluently.Core, 1.0.1"
#:package Mahdhi.GuardFluently.Core@1.0.1
#addin nuget:?package=Mahdhi.GuardFluently.Core&version=1.0.1
#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
nameshouldn't be null and should have at least 10 chars. - the
lengthshould 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 ifnameis null.System.ArgumentException: Thrown ifnameis empty or whitespace.System.ArgumentException: Thrown iflengthis 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. 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. |
-
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 | 1,154 | 4/7/2022 |
First Release