SLR.Results 1.20250201.91742

There is a newer version of this package available.
See the version list below for details.
dotnet add package SLR.Results --version 1.20250201.91742
                    
NuGet\Install-Package SLR.Results -Version 1.20250201.91742
                    
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.20250201.91742" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SLR.Results" Version="1.20250201.91742" />
                    
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.20250201.91742
                    
#r "nuget: SLR.Results, 1.20250201.91742"
                    
#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.20250201.91742
                    
Install SLR.Results as a Cake Addin
#tool nuget:?package=SLR.Results&version=1.20250201.91742
                    
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 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. 
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 169 9 days ago
1.20250416.212638 166 9 days ago
1.20250416.212106 169 9 days ago
1.20250416.211701 173 9 days ago
1.20250416.211413 176 9 days ago
1.20250416.211031 169 9 days ago
1.20250416.205542 168 9 days ago
1.20250416.204854 167 9 days ago
1.20250416.204510 171 9 days ago
1.20250416.203406 165 9 days ago
1.20250416.203201 171 9 days ago
1.20250416.202237 165 9 days ago
1.20250416.201819 174 9 days ago
1.20250416.201607 170 9 days ago
1.20250416.200655 176 9 days ago
1.20250416.200456 168 9 days ago
1.20250416.195526 172 9 days ago
1.20250416.195236 168 9 days ago
1.20250416.194929 170 9 days ago
1.20250416.194630 167 9 days ago
1.20250416.194443 167 9 days ago
1.20250416.193447 175 9 days ago
1.20250401.212636 144 24 days ago
1.20250401.212431 140 24 days ago
1.20250401.212042 146 24 days ago
1.20250401.210635 141 24 days ago
1.20250401.205958 141 24 days ago
1.20250401.205654 141 24 days ago
1.20250401.203237 147 24 days ago
1.20250401.202933 141 24 days ago
1.20250401.202441 145 24 days ago
1.20250401.202207 146 24 days ago
1.20250401.201916 146 24 days ago
1.20250401.200941 143 24 days ago
1.20250401.200620 151 24 days ago
1.20250401.200144 141 24 days ago
1.20250401.194313 150 24 days ago
1.20250401.194144 146 24 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