SLR.Results 1.20250401.200941

There is a newer version of this package available.
See the version list below for details.
dotnet add package SLR.Results --version 1.20250401.200941
                    
NuGet\Install-Package SLR.Results -Version 1.20250401.200941
                    
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="SLR.Results" Version="1.20250401.200941" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SLR.Results" Version="1.20250401.200941" />
                    
Directory.Packages.props
<PackageReference Include="SLR.Results" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SLR.Results --version 1.20250401.200941
                    
#r "nuget: SLR.Results, 1.20250401.200941"
                    
#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.
#addin nuget:?package=SLR.Results&version=1.20250401.200941
                    
Install SLR.Results as a Cake Addin
#tool nuget:?package=SLR.Results&version=1.20250401.200941
                    
Install SLR.Results as a Cake Tool

Results

Nuget downloads Nuget Build License: MIT

SLR.Results is a .NET library that is designed to tackle a common issue. It presents an object that reflects the success or failure of an operation, as opposed to utilizing or raising exceptions.

You can install SLR.Results with NuGet:

Install-Package SLR.Results

Key Features

  • Works in most .NET Projects
  • Choose from Result, Result<T>, ListResult<T> to cater for all use cases
  • Store multiple errors or validation errors in one Result object
  • Store Error or Success objects instead of only error messages in string format
  • Allows uniformity in your code or anyone that needs to consume it
  • ApiResponseHelper to have uniform API Responses in Controllers
  • Result<List<T>> has built-in capability for paging using PagingExtensions

Return a Result

A Result can store multiple Errors, NotFound or ValidationErrors.

// return a result which indicates success
return Result.Success();

// return a result of a type which indicates success
return Result<Sample>.Success(new Sample());

//return a list result which indicates success
var entities = this.DatabaseContext.Samples.Select(x => x).AsNoTracking()
var count = await entities.Count();
var paged = await entities.ApplyPaging(model.PagingArgs).ToListAsync(cancellationToken);

return Result<List<Sample>>.Success(paged, count);

// return a result which indicates failure
return Result.Failure("Error");
return Result<List<Sample>>.Failure("Error");

Result on the API

This will handle 400, 404, 500 and 200

  return ApiResponseHelper.ResponseOutcome(await this.Mediator.Send(new ExampleQuery(), cancellationToken), this)

.NET Targeting

Latest .NET

Contributors

Thanks to all the contributors and to all the people who gave feedback!

<a href="https://github.com/stianleroux/results/graphs/contributors"> <img src="https://contrib.rocks/image?repo=stianleroux/results" /> </a>

Copyright (c) Stian Le Roux. See LICENSE for details.

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

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.20250401.212636 141 10 days ago
1.20250401.212431 137 10 days ago
1.20250401.212042 143 10 days ago
1.20250401.210635 138 10 days ago
1.20250401.205958 138 10 days ago
1.20250401.205654 138 10 days ago
1.20250401.203237 140 10 days ago
1.20250401.202933 138 10 days ago
1.20250401.202441 142 10 days ago
1.20250401.202207 139 10 days ago
1.20250401.201916 139 10 days ago
1.20250401.200941 137 10 days ago
1.20250401.200620 146 10 days ago
1.20250401.200144 138 10 days ago
1.20250401.194313 145 10 days ago
1.20250401.194144 143 10 days ago
1.20250201.91742 106 2 months ago
1.20250201.91539 92 2 months ago
1.20250201.83903 91 2 months ago
1.20230910.104229 178 9/10/2023
1.20230910.103855 101 9/10/2023
1.20230910.103129 103 9/10/2023
1.20230910.100644 110 9/10/2023