NContract 1.2.49
Install-Package NContract -Version 1.2.49
dotnet add package NContract --version 1.2.49
<PackageReference Include="NContract" Version="1.2.49" />
paket add NContract --version 1.2.49
#r "nuget: NContract, 1.2.49"
// Install NContract as a Cake Addin
#addin nuget:?package=NContract&version=1.2.49
// Install NContract as a Cake Tool
#tool nuget:?package=NContract&version=1.2.49
NContract - a design by contract library for .NET
NContract lets you write one-liners to verify parameters in constructors and methods instead of using more verbose if statements.
Installation
Add the Nuget package NContract by using your IDE or through the terminal:
dotnet add package NContract
Usage
Null checks
To verify that a parameter is not null:
Require.NotNull(parameter, nameof(parameter));
To verify that a parameter is null:
Require.Null(parameter, nameof(parameter));
Strings
To verify that a parameter is not null or empty:
Require.NotNullOrEmpty(parameter, nameof(parameter));
To verify that a parameter is not null or whitespace:
Require.NotNullOrWhitespace(parameter, nameof(parameter));
True or false conditions
To verify that a parameter value is true to a condition, for example >= 10:
Require.True(parameter >= 10, "Parameter must be 10 or greater", nameof(parameter));
To verify that a parameter value is false to a condition, for example >= 10:
Require.False(parameter >= 10, "Parameter must be 9 or less", nameof(parameter));
Collections
To verify that a parameter is not empty:
Require.NotEmpty(parameter, nameof(parameter));
To verify that a parameter is empty:
Require.Empty(parameter, nameof(parameter));
To verify that a parameter value has at least one element satisfying a predicate, for example >= 10:
Require.Any(parameter, v => v >= 10, "At least one parameter element must be 10 or greater", nameof(parameter));
To verify that all parameter values satisfies a predicate, for example >= 10:
Require.All(parameter, v => v >= 10, "All parameter elements must be 10 or greater", nameof(parameter));
To verify that no parameter values matches a predicate, for example >= 10:
Require.None(parameter, v => v >= 10, "No parameter elements can be 10 or greater", nameof(parameter));
Implements type checks
To verify that a parameter value implements a type T:
Require.Implements<T>(parameter, nameof(parameter)");
License
This project is licensed under the MIT license. See the LICENSE file for more info.
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows |
.NET Core | netcoreapp1.0 netcoreapp1.1 netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard1.1 netstandard1.2 netstandard1.3 netstandard1.4 netstandard1.5 netstandard1.6 netstandard2.0 netstandard2.1 |
.NET Framework | net45 net451 net452 net46 net461 net462 net463 net47 net471 net472 net48 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen30 tizen40 tizen60 |
Universal Windows Platform | uap uap10.0 |
Windows Phone | wpa81 |
Windows Store | netcore netcore45 netcore451 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
-
.NETStandard 1.1
- NETStandard.Library (>= 1.6.1)
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.