SLR.Results 1.20250401.203237

There is a newer version of this package available.
See the version list below for details.
dotnet add package SLR.Results --version 1.20250401.203237
                    
NuGet\Install-Package SLR.Results -Version 1.20250401.203237
                    
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.203237" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SLR.Results" Version="1.20250401.203237" />
                    
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.203237
                    
#r "nuget: SLR.Results, 1.20250401.203237"
                    
#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.203237
                    
Install SLR.Results as a Cake Addin
#tool nuget:?package=SLR.Results&version=1.20250401.203237
                    
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.20250416.213003 2 13 hours ago
1.20250416.212638 1 13 hours ago
1.20250416.212106 3 13 hours ago
1.20250416.211701 4 13 hours ago
1.20250416.211413 3 13 hours ago
1.20250416.211031 3 13 hours ago
1.20250416.205542 13 14 hours ago
1.20250416.204854 13 14 hours ago
1.20250416.204510 18 14 hours ago
1.20250416.203406 17 14 hours ago
1.20250416.203201 18 14 hours ago
1.20250416.202237 18 14 hours ago
1.20250416.201819 28 14 hours ago
1.20250416.201607 24 14 hours ago
1.20250416.200655 24 14 hours ago
1.20250416.200456 20 14 hours ago
1.20250416.195526 25 15 hours ago
1.20250416.195236 22 15 hours ago
1.20250416.194929 18 15 hours ago
1.20250416.194630 20 15 hours ago
1.20250416.194443 17 15 hours ago
1.20250416.193447 26 15 hours ago
1.20250401.212636 144 16 days ago
1.20250401.212431 140 16 days ago
1.20250401.212042 146 16 days ago
1.20250401.210635 141 16 days ago
1.20250401.205958 141 16 days ago
1.20250401.205654 141 16 days ago
1.20250401.203237 144 16 days ago
1.20250401.202933 140 16 days ago
1.20250401.202441 144 16 days ago
1.20250401.202207 143 16 days ago
1.20250401.201916 143 16 days ago
1.20250401.200941 141 16 days ago
1.20250401.200620 149 16 days ago
1.20250401.200144 141 16 days ago
1.20250401.194313 148 16 days ago
1.20250401.194144 146 16 days ago
1.20250201.91742 106 3 months ago
1.20250201.91539 92 3 months ago
1.20250201.83903 91 3 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