Argument.Check
5.0.5
dotnet add package Argument.Check --version 5.0.5
NuGet\Install-Package Argument.Check -Version 5.0.5
<PackageReference Include="Argument.Check" Version="5.0.5" />
<PackageVersion Include="Argument.Check" Version="5.0.5" />
<PackageReference Include="Argument.Check" />
paket add Argument.Check --version 5.0.5
#r "nuget: Argument.Check, 5.0.5"
#:package Argument.Check@5.0.5
#addin nuget:?package=Argument.Check&version=5.0.5
#tool nuget:?package=Argument.Check&version=5.0.5
Argument.Check
Argument.Check is a very simple library which makes it very easy to check your arguments or variables for different conditions like 'Null'. It is super fast it is using the new [CallerMemberNameAttribute]
Getting started
Prerequisites
Install the package
dotnet add package Argument.Check
Samples
Each Throw helper could also be used like a "Throw Expression".
Null check
public MyClass(object arg)
{
Throw.IfNull(arg);
}
Null check, like 'Throw Expressions'
public MyClass(IService service)
{
_service = Throw.IfNull(service);
}
Null check on a stack variable
public MyClass(IService service)
{
Throw.IfNull(service);
var result = service.GetSomething();
Throw.IfNull(result);
}
File exists
public MyClass(FileInfo fileInfo)
{
Throw.IfExists(fileInfo);
}
Directory exists
public MyClass(DirectoryInfo directoryInfo)
{
Throw.IfExists(directoryInfo);
}
Value is greater than
public MyClass(int value)
{
Throw.IfGreaterThan(value, 10);
}
Value is less than
public MyClass(int value)
{
Throw.IfLessThan(value, 10);
}
Value is out of range
public MyClass(int value)
{
Throw.IfOutOfRange(value, 10, 100);
}
Custom expression
public MyClass(string value)
{
Throw.If(value, v => v.Length > 10 && v.Contains("abc"), "The given string length must not be longer than 10, and must not contain 'abc'");
}
Argument must be an interface
public MyClass(object value)
{
Throw.IfNotInterface(value);
}
Argument must be equal to any expectation
public MyClass(object value)
{
Throw.IfNotEqualsTo(value, new object());
}
And many more.
public MyClass(object value)
{
Throw.If(...)
Throw.IfNot(...)
Throw.IfNull(...)
Throw.IfEmpty(...)
Throw.IfNotEmpty(...)
Throw.IfTypeIs(...)
Throw.IfTypeIsNot(...)
Throw.IfEqualsTo(...)
Throw.IfNotEqualsTo(...)
Throw.IfExists(...)
Throw.IfNotExists(...)
Throw.IfGreaterOrEqual(...)
Throw.IfGreaterThan(...)
Throw.IfLessOrEqual(...)
Throw.IfLessThan(...)
Throw.IfInterface(...)
Throw.IfNotInterface(...)
Throw.IfLengthIs(...)
Throw.IfLengthIsNot(...)
Throw.IfContains(...)
Throw.IfNotContains(...)
Throw.IfNullOrAny(...)
Throw.IfNullOrAnyItemIsNull(...)
Throw.IfNullOrEmpty(...)
Throw.IfNullOrWhiteSpace(...)
Throw.IfOutOfRange(...)
Throw.IfWhitespace(...)
Throw.IfAnyItemIsNullOrWhitespace(...)
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. 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. |
| .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 is compatible. |
| .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.
-
.NETStandard 2.1
- No dependencies.
-
net6.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Argument.Check:
| Package | Downloads |
|---|---|
|
Extensions.Pack
A set of useful extensions to make your code smooth and nice readable. |
|
|
CSharp.Parser.Abstraction
A simple abstraction to parse C# files. Target should be a human friendly readable result. But it is just based on the syntax tree. You don't get any semantic informations. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 5.0.5 | 714 | 1/9/2026 |
| 5.0.4 | 104,027 | 3/17/2025 |
| 5.0.3 | 2,146 | 2/19/2025 |
| 5.0.2 | 77,119 | 1/24/2025 |
| 5.0.1 | 132 | 1/24/2025 |
| 5.0.0 | 1,770 | 11/20/2024 |
| 4.0.2 | 95,938 | 11/20/2024 |
| 4.0.1 | 1,261 | 9/6/2024 |
| 4.0.0 | 105,731 | 11/28/2023 |
| 3.0.1 | 106,681 | 5/29/2023 |
| 3.0.0 | 16,824 | 5/29/2023 |
| 2.0.0 | 37,512 | 7/25/2022 |
| 2.0.0-alpha.59 | 536 | 7/3/2022 |
| 2.0.0-alpha.58 | 278 | 7/3/2022 |
| 2.0.0-alpha.52 | 7,795 | 10/19/2021 |
| 1.0.4 | 399,449 | 1/19/2020 |
| 1.0.3 | 1,866 | 1/18/2020 |
| 1.0.2 | 1,878 | 1/18/2020 |
| 1.0.1 | 27,714 | 1/3/2020 |
| 1.0.0 | 1,326 | 1/3/2020 |
| 0.9.0 | 6,528 | 12/26/2019 |
Changes:
- Package is now ported to .Net Standard 2.0 as well