Shuttle.Core.Contract 20.0.0

Prefix Reserved
dotnet add package Shuttle.Core.Contract --version 20.0.0                
NuGet\Install-Package Shuttle.Core.Contract -Version 20.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Shuttle.Core.Contract" Version="20.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Shuttle.Core.Contract --version 20.0.0                
#r "nuget: Shuttle.Core.Contract, 20.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Shuttle.Core.Contract as a Cake Addin
#addin nuget:?package=Shuttle.Core.Contract&version=20.0.0

// Install Shuttle.Core.Contract as a Cake Tool
#tool nuget:?package=Shuttle.Core.Contract&version=20.0.0                

Shuttle.Core.Contract

PM> Install-Package Shuttle.Core.Contract

A guard implementation that performs assertions/assumptions to prevent invalid code execution.

Guard

void Against<TException>(bool assertion, string message) where TException : Exception

Throws exception TException with the given message if the assertion is false. If exception type TException does not have a constructor that accepts a message then an InvalidOperationException is thrown instead.


T AgainstNull<T>(T? value, [CallerArgumentExpression("value")] string? name = null)

Throws a ArgumentNullException if the given value is null; else returns the value.


string AgainstNullOrEmptyString(string? value, [CallerArgumentExpression("value")] string? name = null)

Throws a ArgumentNullException if the given value is null or empty/whitespace; else returns the value.


Guid AgainstEmptyGuid(Guid value, [CallerArgumentExpression("value")] string? name = null)

Throws and ArgumentException when the value is equal to an empty Guid ({00000000-0000-0000-0000-000000000000}); else returns the value.


TEnum AgainstUndefinedEnum<TEnum>(object? value, [CallerArgumentExpression("value")] string? name = null)

Throws an InvalidOperationException if the provided value cannot be found in the given TEnum; else returns the value as TEnum.


IEnumerable<T> AgainstEmptyEnumerable<T>(IEnumerable<T> enumerable, [CallerArgumentExpression("enumerable")] string? name = null)

Throws an ArgumentException if the given enumerable does not contain any entries; else returns the enumerable.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages (35)

Showing the top 5 NuGet packages that depend on Shuttle.Core.Contract:

Package Downloads
Shuttle.Esb

Contains the core Shuttle.Esb assembly that should always be referenced when building Shuttle.Esb solutions.

Shuttle.Core.Logging

Logging adapter.

Shuttle.Core.Reflection

Reflection infrastructure components.

Shuttle.Core.Threading

Thread-based processing.

Shuttle.Core.Serialization

Serialization adapter.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
20.0.0 671 2/2/2025
11.1.1 1,736 7/21/2024
11.1.0 4,569 4/30/2024
11.0.0 25,007 12/1/2022
10.1.0 39,894 5/27/2022
10.0.4 986 5/21/2022
10.0.3 98,884 11/26/2020
10.0.2 19,784 2/13/2020
10.0.1 145,991 7/3/2018
10.0.0 92,727 12/27/2017