Resulty 2.1.1
dotnet add package Resulty --version 2.1.1
NuGet\Install-Package Resulty -Version 2.1.1
<PackageReference Include="Resulty" Version="2.1.1" />
<PackageVersion Include="Resulty" Version="2.1.1" />
<PackageReference Include="Resulty" />
paket add Resulty --version 2.1.1
#r "nuget: Resulty, 2.1.1"
#:package Resulty@2.1.1
#addin nuget:?package=Resulty&version=2.1.1
#tool nuget:?package=Resulty&version=2.1.1
Resulty
Result object implementation for handling success and failure outcomes.
Creating Results
Result.cs
provides several static factory methods that can be used to create a new instance of Result.cs
. Here are some examples:
Result successResult = Result.Success();
Result<string> successResultWithValue = Result.Success("Hello, world!");
Result failureResult = Result.Failure(new Error());
Result<int> failureResultWithValue = Result.Failure<int>(new Error());
Chaining Results
Operations can be chained together using Then
extension method. If any operation in the chain fails, subsequent operations will not be executed, and a failed result will be returned.
Result<UserAccount> result = await GetUserAccountAsync()
.Then(account => ChargeUserAccountAsync(account))
.Then(account => SaveDataAsync(account));
Result<T>
can also be transformed in a chain using extension method ThenWithTransform
. It enables converting one type of Result<T>
to another:
Result<int> result = Result.Success<int>(200);
Result<string> transformedResult = result.ThenWithTransform(code => Result.Success<string>("Status code: " + code.ToString()));
Mapping Results
Result
can be mapped to any type, based on its success or failure:
string message = SomeOperation()
.Map(
onSuccess: data => "Success: " + data.ToString(),
onError: error => "Error occurred: " + error.Detail
);
In the above code, the SomeOperation()
method returns a Result instance. We use the Map method to map the result to a string. The onSuccess
function is provided to handle the successful case, where we construct a string by concatenating "Success: " with the result value converted to a string. The onError
function handles the error case, where we construct a string by concatenating "Error occurred: " with the error message.
Product | Versions 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 was computed. 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. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.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. |
-
.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.