#### [Abblix\.Utils](https://www.abblix.com/en/docs/api/abblix-utils 'index')
### [Abblix\.Utils](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils 'Abblix\.Utils')

## Result\<TSuccess,TFailure\> Class

Represents a result of an operation that can either succeed with a value of type [TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')
or fail with a value of type [TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure')\.

```csharp
public abstract record Result<TSuccess,TFailure> : System.IEquatable<Abblix.Utils.Result<TSuccess, TFailure>>
```
#### Type parameters

###### `TSuccess` {#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess}

The type of the success result\.

###### `TFailure` {#Abblix.Utils.Result_TSuccess,TFailure_.TFailure}

The type of the failure result\.

Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → Result\<TSuccess,TFailure\>

Implements [System\.IEquatable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')[Abblix\.Utils\.Result&lt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')[,](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure')[&gt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')
### Methods

## Result\<TSuccess,TFailure\>\.Bind\(Action\<TSuccess\>\) Method {#Abblix.Utils.Result_TSuccess,TFailure_.Bind(System.Action_TSuccess_)}

Executes the specified action if the result is successful, and returns the original result\.

```csharp
public abstract Abblix.Utils.Result<TSuccess,TFailure> Bind(System.Action<TSuccess> action);
```
#### Parameters

###### `action` [System\.Action&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.action-1 'System\.Action\`1')[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.action-1 'System\.Action\`1') {#Abblix.Utils.Result_TSuccess,TFailure_.Bind(System.Action_TSuccess_).action}

The action to execute if the result is successful\.

#### Returns
[Abblix\.Utils\.Result&lt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')[,](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure')[&gt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')  
The original result after executing the action if successful; otherwise, the failure result\.

## Result\<TSuccess,TFailure\>\.Bind\<TNext\>\(Func\<TSuccess,Result\<TNext,TFailure\>\>\) Method {#Abblix.Utils.Result_TSuccess,TFailure_.Bind_TNext_(System.Func_TSuccess,Abblix.Utils.Result_TNext,TFailure__)}

Binds the result to a function that returns a new result, allowing chaining of operations\.

```csharp
public abstract Abblix.Utils.Result<TNext,TFailure> Bind<TNext>(System.Func<TSuccess,Abblix.Utils.Result<TNext,TFailure>> func);
```
#### Type parameters

###### `TNext` {#Abblix.Utils.Result_TSuccess,TFailure_.Bind_TNext_(System.Func_TSuccess,Abblix.Utils.Result_TNext,TFailure__).TNext}

The type of the success value in the returned result\.
#### Parameters

###### `func` [System\.Func&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')[,](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[Abblix\.Utils\.Result&lt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TNext](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.Bind_TNext_(System.Func_TSuccess,Abblix.Utils.Result_TNext,TFailure__).TNext 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.Bind\<TNext\>\(System\.Func\<TSuccess,Abblix\.Utils\.Result\<TNext,TFailure\>\>\)\.TNext')[,](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure')[&gt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2') {#Abblix.Utils.Result_TSuccess,TFailure_.Bind_TNext_(System.Func_TSuccess,Abblix.Utils.Result_TNext,TFailure__).func}

The function to apply to the success value\.

#### Returns
[Abblix\.Utils\.Result&lt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TNext](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.Bind_TNext_(System.Func_TSuccess,Abblix.Utils.Result_TNext,TFailure__).TNext 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.Bind\<TNext\>\(System\.Func\<TSuccess,Abblix\.Utils\.Result\<TNext,TFailure\>\>\)\.TNext')[,](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure')[&gt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')  
The result of applying the function if successful; otherwise, the original failure\.

## Result\<TSuccess,TFailure\>\.BindAsync\(Func\<TSuccess,Task\>\) Method {#Abblix.Utils.Result_TSuccess,TFailure_.BindAsync(System.Func_TSuccess,System.Threading.Tasks.Task_)}

Asynchronously executes the specified action if the result is successful, and returns the original result\.

```csharp
public abstract System.Threading.Tasks.Task<Abblix.Utils.Result<TSuccess,TFailure>> BindAsync(System.Func<TSuccess,System.Threading.Tasks.Task> action);
```
#### Parameters

###### `action` [System\.Func&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')[,](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[System\.Threading\.Tasks\.Task](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task 'System\.Threading\.Tasks\.Task')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2') {#Abblix.Utils.Result_TSuccess,TFailure_.BindAsync(System.Func_TSuccess,System.Threading.Tasks.Task_).action}

The asynchronous action to execute if the result is successful\.

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[Abblix\.Utils\.Result&lt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')[,](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure')[&gt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
A task representing the operation, with the original result\.

## Result\<TSuccess,TFailure\>\.BindAsync\<TNext\>\(Func\<TSuccess,Task\<Result\<TNext,TFailure\>\>\>\) Method {#Abblix.Utils.Result_TSuccess,TFailure_.BindAsync_TNext_(System.Func_TSuccess,System.Threading.Tasks.Task_Abblix.Utils.Result_TNext,TFailure___)}

Asynchronously binds the result to a function that returns a new result, allowing chaining of operations\.

```csharp
public abstract System.Threading.Tasks.Task<Abblix.Utils.Result<TNext,TFailure>> BindAsync<TNext>(System.Func<TSuccess,System.Threading.Tasks.Task<Abblix.Utils.Result<TNext,TFailure>>> func);
```
#### Type parameters

###### `TNext` {#Abblix.Utils.Result_TSuccess,TFailure_.BindAsync_TNext_(System.Func_TSuccess,System.Threading.Tasks.Task_Abblix.Utils.Result_TNext,TFailure___).TNext}

The type of the success value in the returned result\.
#### Parameters

###### `func` [System\.Func&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')[,](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[Abblix\.Utils\.Result&lt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TNext](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.BindAsync_TNext_(System.Func_TSuccess,System.Threading.Tasks.Task_Abblix.Utils.Result_TNext,TFailure___).TNext 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.BindAsync\<TNext\>\(System\.Func\<TSuccess,System\.Threading\.Tasks\.Task\<Abblix\.Utils\.Result\<TNext,TFailure\>\>\>\)\.TNext')[,](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure')[&gt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2') {#Abblix.Utils.Result_TSuccess,TFailure_.BindAsync_TNext_(System.Func_TSuccess,System.Threading.Tasks.Task_Abblix.Utils.Result_TNext,TFailure___).func}

The asynchronous function to apply to the success value\.

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[Abblix\.Utils\.Result&lt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TNext](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.BindAsync_TNext_(System.Func_TSuccess,System.Threading.Tasks.Task_Abblix.Utils.Result_TNext,TFailure___).TNext 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.BindAsync\<TNext\>\(System\.Func\<TSuccess,System\.Threading\.Tasks\.Task\<Abblix\.Utils\.Result\<TNext,TFailure\>\>\>\)\.TNext')[,](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure')[&gt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
A task representing the result of applying the function if successful; otherwise, the original failure\.

## Result\<TSuccess,TFailure\>\.Deconstruct\(TSuccess, TFailure\) Method {#Abblix.Utils.Result_TSuccess,TFailure_.Deconstruct(TSuccess,TFailure)}

Deconstructs the result into separate success and failure values\.

```csharp
public abstract void Deconstruct(out TSuccess? success, out TFailure? failure);
```
#### Parameters

###### `success` [TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess') {#Abblix.Utils.Result_TSuccess,TFailure_.Deconstruct(TSuccess,TFailure).success}

The success value if available; otherwise, `null`\.

###### `failure` [TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure') {#Abblix.Utils.Result_TSuccess,TFailure_.Deconstruct(TSuccess,TFailure).failure}

The failure value if available; otherwise, `null`\.

## Result\<TSuccess,TFailure\>\.Ensure\(Func\<TSuccess,bool\>, TFailure\) Method {#Abblix.Utils.Result_TSuccess,TFailure_.Ensure(System.Func_TSuccess,bool_,TFailure)}

Ensures that the success value satisfies the specified predicate; otherwise, returns a failure result\.

```csharp
public abstract Abblix.Utils.Result<TSuccess,TFailure> Ensure(System.Func<TSuccess,bool> predicate, TFailure failure);
```
#### Parameters

###### `predicate` [System\.Func&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')[,](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2') {#Abblix.Utils.Result_TSuccess,TFailure_.Ensure(System.Func_TSuccess,bool_,TFailure).predicate}

The predicate to evaluate the success value\.

###### `failure` [TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure') {#Abblix.Utils.Result_TSuccess,TFailure_.Ensure(System.Func_TSuccess,bool_,TFailure).failure}

The failure value to return if the predicate is not satisfied\.

#### Returns
[Abblix\.Utils\.Result&lt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')[,](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure')[&gt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')  
The original success result if the predicate is satisfied; otherwise, a failure result\.

## Result\<TSuccess,TFailure\>\.Failure\(TFailure\) Method {#Abblix.Utils.Result_TSuccess,TFailure_.Failure(TFailure)}

Creates a failed result with the specified value\.

```csharp
public static Abblix.Utils.Result<TSuccess,TFailure> Failure(TFailure value);
```
#### Parameters

###### `value` [TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure') {#Abblix.Utils.Result_TSuccess,TFailure_.Failure(TFailure).value}

The failure value\.

#### Returns
[Abblix\.Utils\.Result&lt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')[,](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure')[&gt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')  
A [Result&lt;TSuccess,TFailure&gt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>') representing a failed result\.

## Result\<TSuccess,TFailure\>\.GetFailure\(\) Method {#Abblix.Utils.Result_TSuccess,TFailure_.GetFailure()}

Gets the failure value\.

```csharp
public abstract TFailure GetFailure();
```

#### Returns
[TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure')  
The failure value\.

#### Exceptions

[System\.InvalidOperationException](https://learn.microsoft.com/en-us/dotnet/api/system.invalidoperationexception 'System\.InvalidOperationException')  
Thrown if the result is a success\.

## Result\<TSuccess,TFailure\>\.GetSuccess\(\) Method {#Abblix.Utils.Result_TSuccess,TFailure_.GetSuccess()}

Gets the success value\.

```csharp
public abstract TSuccess GetSuccess();
```

#### Returns
[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')  
The success value\.

#### Exceptions

[System\.InvalidOperationException](https://learn.microsoft.com/en-us/dotnet/api/system.invalidoperationexception 'System\.InvalidOperationException')  
Thrown if the result is a failure\.

## Result\<TSuccess,TFailure\>\.Map\<TNewSuccess,TNewFailure\>\(Func\<TSuccess,TNewSuccess\>, Func\<TFailure,TNewFailure\>\) Method {#Abblix.Utils.Result_TSuccess,TFailure_.Map_TNewSuccess,TNewFailure_(System.Func_TSuccess,TNewSuccess_,System.Func_TFailure,TNewFailure_)}

Maps both success and failure values to new types\.

```csharp
public Abblix.Utils.Result<TNewSuccess,TNewFailure> Map<TNewSuccess,TNewFailure>(System.Func<TSuccess,TNewSuccess> onSuccess, System.Func<TFailure,TNewFailure> onFailure);
```
#### Type parameters

###### `TNewSuccess` {#Abblix.Utils.Result_TSuccess,TFailure_.Map_TNewSuccess,TNewFailure_(System.Func_TSuccess,TNewSuccess_,System.Func_TFailure,TNewFailure_).TNewSuccess}

The type to map the success value to\.

###### `TNewFailure` {#Abblix.Utils.Result_TSuccess,TFailure_.Map_TNewSuccess,TNewFailure_(System.Func_TSuccess,TNewSuccess_,System.Func_TFailure,TNewFailure_).TNewFailure}

The type to map the failure value to\.
#### Parameters

###### `onSuccess` [System\.Func&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')[,](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[TNewSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.Map_TNewSuccess,TNewFailure_(System.Func_TSuccess,TNewSuccess_,System.Func_TFailure,TNewFailure_).TNewSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.Map\<TNewSuccess,TNewFailure\>\(System\.Func\<TSuccess,TNewSuccess\>, System\.Func\<TFailure,TNewFailure\>\)\.TNewSuccess')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2') {#Abblix.Utils.Result_TSuccess,TFailure_.Map_TNewSuccess,TNewFailure_(System.Func_TSuccess,TNewSuccess_,System.Func_TFailure,TNewFailure_).onSuccess}

The function to apply if the result is successful\.

###### `onFailure` [System\.Func&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure')[,](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[TNewFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.Map_TNewSuccess,TNewFailure_(System.Func_TSuccess,TNewSuccess_,System.Func_TFailure,TNewFailure_).TNewFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.Map\<TNewSuccess,TNewFailure\>\(System\.Func\<TSuccess,TNewSuccess\>, System\.Func\<TFailure,TNewFailure\>\)\.TNewFailure')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2') {#Abblix.Utils.Result_TSuccess,TFailure_.Map_TNewSuccess,TNewFailure_(System.Func_TSuccess,TNewSuccess_,System.Func_TFailure,TNewFailure_).onFailure}

The function to apply if the result is a failure\.

#### Returns
[Abblix\.Utils\.Result&lt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TNewSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.Map_TNewSuccess,TNewFailure_(System.Func_TSuccess,TNewSuccess_,System.Func_TFailure,TNewFailure_).TNewSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.Map\<TNewSuccess,TNewFailure\>\(System\.Func\<TSuccess,TNewSuccess\>, System\.Func\<TFailure,TNewFailure\>\)\.TNewSuccess')[,](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TNewFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.Map_TNewSuccess,TNewFailure_(System.Func_TSuccess,TNewSuccess_,System.Func_TFailure,TNewFailure_).TNewFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.Map\<TNewSuccess,TNewFailure\>\(System\.Func\<TSuccess,TNewSuccess\>, System\.Func\<TFailure,TNewFailure\>\)\.TNewFailure')[&gt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')  
A new result with both success and failure values mapped to new types\.

## Result\<TSuccess,TFailure\>\.MapFailure\<T\>\(Func\<TFailure,T\>\) Method {#Abblix.Utils.Result_TSuccess,TFailure_.MapFailure_T_(System.Func_TFailure,T_)}

Synchronously maps a failed result to another type\.

```csharp
public abstract Abblix.Utils.Result<TSuccess,T> MapFailure<T>(System.Func<TFailure,T> onFailure);
```
#### Type parameters

###### `T` {#Abblix.Utils.Result_TSuccess,TFailure_.MapFailure_T_(System.Func_TFailure,T_).T}

The type to map the failure value to\.
#### Parameters

###### `onFailure` [System\.Func&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure')[,](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[T](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.MapFailure_T_(System.Func_TFailure,T_).T 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.MapFailure\<T\>\(System\.Func\<TFailure,T\>\)\.T')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2') {#Abblix.Utils.Result_TSuccess,TFailure_.MapFailure_T_(System.Func_TFailure,T_).onFailure}

The mapping function\.

#### Returns
[Abblix\.Utils\.Result&lt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')[,](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[T](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.MapFailure_T_(System.Func_TFailure,T_).T 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.MapFailure\<T\>\(System\.Func\<TFailure,T\>\)\.T')[&gt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')  
A new result with the mapped failure value or the original success\.

## Result\<TSuccess,TFailure\>\.MapFailureAsync\<T\>\(Func\<TFailure,Task\<T\>\>\) Method {#Abblix.Utils.Result_TSuccess,TFailure_.MapFailureAsync_T_(System.Func_TFailure,System.Threading.Tasks.Task_T__)}

Asynchronously maps a failure result to another type\.

```csharp
public abstract System.Threading.Tasks.Task<Abblix.Utils.Result<TSuccess,T>> MapFailureAsync<T>(System.Func<TFailure,System.Threading.Tasks.Task<T>> onFailure);
```
#### Type parameters

###### `T` {#Abblix.Utils.Result_TSuccess,TFailure_.MapFailureAsync_T_(System.Func_TFailure,System.Threading.Tasks.Task_T__).T}

The type to map the failure value to\.
#### Parameters

###### `onFailure` [System\.Func&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure')[,](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[T](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.MapFailureAsync_T_(System.Func_TFailure,System.Threading.Tasks.Task_T__).T 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.MapFailureAsync\<T\>\(System\.Func\<TFailure,System\.Threading\.Tasks\.Task\<T\>\>\)\.T')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2') {#Abblix.Utils.Result_TSuccess,TFailure_.MapFailureAsync_T_(System.Func_TFailure,System.Threading.Tasks.Task_T__).onFailure}

The asynchronous mapping function\.

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[Abblix\.Utils\.Result&lt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')[,](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[T](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.MapFailureAsync_T_(System.Func_TFailure,System.Threading.Tasks.Task_T__).T 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.MapFailureAsync\<T\>\(System\.Func\<TFailure,System\.Threading\.Tasks\.Task\<T\>\>\)\.T')[&gt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
A new result with the mapped failure value or the original success\.

## Result\<TSuccess,TFailure\>\.MapSuccess\<T\>\(Func\<TSuccess,T\>\) Method {#Abblix.Utils.Result_TSuccess,TFailure_.MapSuccess_T_(System.Func_TSuccess,T_)}

Synchronously maps a successful result to another type\.

```csharp
public abstract Abblix.Utils.Result<T,TFailure> MapSuccess<T>(System.Func<TSuccess,T> onSuccess);
```
#### Type parameters

###### `T` {#Abblix.Utils.Result_TSuccess,TFailure_.MapSuccess_T_(System.Func_TSuccess,T_).T}

The type to map the success value to\.
#### Parameters

###### `onSuccess` [System\.Func&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')[,](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[T](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.MapSuccess_T_(System.Func_TSuccess,T_).T 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.MapSuccess\<T\>\(System\.Func\<TSuccess,T\>\)\.T')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2') {#Abblix.Utils.Result_TSuccess,TFailure_.MapSuccess_T_(System.Func_TSuccess,T_).onSuccess}

The mapping function\.

#### Returns
[Abblix\.Utils\.Result&lt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[T](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.MapSuccess_T_(System.Func_TSuccess,T_).T 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.MapSuccess\<T\>\(System\.Func\<TSuccess,T\>\)\.T')[,](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure')[&gt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')  
A new result with the mapped success value or the original failure\.

## Result\<TSuccess,TFailure\>\.MapSuccessAsync\<T\>\(Func\<TSuccess,Task\<T\>\>\) Method {#Abblix.Utils.Result_TSuccess,TFailure_.MapSuccessAsync_T_(System.Func_TSuccess,System.Threading.Tasks.Task_T__)}

Asynchronously maps a successful result to another type\.

```csharp
public abstract System.Threading.Tasks.Task<Abblix.Utils.Result<T,TFailure>> MapSuccessAsync<T>(System.Func<TSuccess,System.Threading.Tasks.Task<T>> onSuccess);
```
#### Type parameters

###### `T` {#Abblix.Utils.Result_TSuccess,TFailure_.MapSuccessAsync_T_(System.Func_TSuccess,System.Threading.Tasks.Task_T__).T}

The type to map the success value to\.
#### Parameters

###### `onSuccess` [System\.Func&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')[,](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[T](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.MapSuccessAsync_T_(System.Func_TSuccess,System.Threading.Tasks.Task_T__).T 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.MapSuccessAsync\<T\>\(System\.Func\<TSuccess,System\.Threading\.Tasks\.Task\<T\>\>\)\.T')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2') {#Abblix.Utils.Result_TSuccess,TFailure_.MapSuccessAsync_T_(System.Func_TSuccess,System.Threading.Tasks.Task_T__).onSuccess}

The asynchronous mapping function\.

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[Abblix\.Utils\.Result&lt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[T](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.MapSuccessAsync_T_(System.Func_TSuccess,System.Threading.Tasks.Task_T__).T 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.MapSuccessAsync\<T\>\(System\.Func\<TSuccess,System\.Threading\.Tasks\.Task\<T\>\>\)\.T')[,](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure')[&gt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
A new result with the mapped success value or the original failure\.

## Result\<TSuccess,TFailure\>\.Match\<T\>\(Func\<TSuccess,T\>, Func\<TFailure,T\>\) Method {#Abblix.Utils.Result_TSuccess,TFailure_.Match_T_(System.Func_TSuccess,T_,System.Func_TFailure,T_)}

Matches the result and invokes the appropriate function depending on whether the result is a success or failure\.

```csharp
public abstract T Match<T>(System.Func<TSuccess,T> onSuccess, System.Func<TFailure,T> onFailure);
```
#### Type parameters

###### `T` {#Abblix.Utils.Result_TSuccess,TFailure_.Match_T_(System.Func_TSuccess,T_,System.Func_TFailure,T_).T}

The return type of the matching functions\.
#### Parameters

###### `onSuccess` [System\.Func&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')[,](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[T](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.Match_T_(System.Func_TSuccess,T_,System.Func_TFailure,T_).T 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.Match\<T\>\(System\.Func\<TSuccess,T\>, System\.Func\<TFailure,T\>\)\.T')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2') {#Abblix.Utils.Result_TSuccess,TFailure_.Match_T_(System.Func_TSuccess,T_,System.Func_TFailure,T_).onSuccess}

The function to invoke if the result is a success\.

###### `onFailure` [System\.Func&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure')[,](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[T](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.Match_T_(System.Func_TSuccess,T_,System.Func_TFailure,T_).T 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.Match\<T\>\(System\.Func\<TSuccess,T\>, System\.Func\<TFailure,T\>\)\.T')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2') {#Abblix.Utils.Result_TSuccess,TFailure_.Match_T_(System.Func_TSuccess,T_,System.Func_TFailure,T_).onFailure}

The function to invoke if the result is a failure\.

#### Returns
[T](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.Match_T_(System.Func_TSuccess,T_,System.Func_TFailure,T_).T 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.Match\<T\>\(System\.Func\<TSuccess,T\>, System\.Func\<TFailure,T\>\)\.T')  
The result of the matching function\.

## Result\<TSuccess,TFailure\>\.MatchAsync\<T\>\(Func\<TSuccess,Task\<T\>\>, Func\<TFailure,Task\<T\>\>\) Method {#Abblix.Utils.Result_TSuccess,TFailure_.MatchAsync_T_(System.Func_TSuccess,System.Threading.Tasks.Task_T__,System.Func_TFailure,System.Threading.Tasks.Task_T__)}

Asynchronously matches the result and invokes the appropriate asynchronous function\.

```csharp
public abstract System.Threading.Tasks.Task<T> MatchAsync<T>(System.Func<TSuccess,System.Threading.Tasks.Task<T>> onSuccess, System.Func<TFailure,System.Threading.Tasks.Task<T>> onFailure);
```
#### Type parameters

###### `T` {#Abblix.Utils.Result_TSuccess,TFailure_.MatchAsync_T_(System.Func_TSuccess,System.Threading.Tasks.Task_T__,System.Func_TFailure,System.Threading.Tasks.Task_T__).T}

The return type of the matching functions\.
#### Parameters

###### `onSuccess` [System\.Func&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')[,](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[T](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.MatchAsync_T_(System.Func_TSuccess,System.Threading.Tasks.Task_T__,System.Func_TFailure,System.Threading.Tasks.Task_T__).T 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.MatchAsync\<T\>\(System\.Func\<TSuccess,System\.Threading\.Tasks\.Task\<T\>\>, System\.Func\<TFailure,System\.Threading\.Tasks\.Task\<T\>\>\)\.T')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2') {#Abblix.Utils.Result_TSuccess,TFailure_.MatchAsync_T_(System.Func_TSuccess,System.Threading.Tasks.Task_T__,System.Func_TFailure,System.Threading.Tasks.Task_T__).onSuccess}

The asynchronous function to invoke if the result is a success\.

###### `onFailure` [System\.Func&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure')[,](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[T](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.MatchAsync_T_(System.Func_TSuccess,System.Threading.Tasks.Task_T__,System.Func_TFailure,System.Threading.Tasks.Task_T__).T 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.MatchAsync\<T\>\(System\.Func\<TSuccess,System\.Threading\.Tasks\.Task\<T\>\>, System\.Func\<TFailure,System\.Threading\.Tasks\.Task\<T\>\>\)\.T')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2') {#Abblix.Utils.Result_TSuccess,TFailure_.MatchAsync_T_(System.Func_TSuccess,System.Threading.Tasks.Task_T__,System.Func_TFailure,System.Threading.Tasks.Task_T__).onFailure}

The asynchronous function to invoke if the result is a failure\.

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[T](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.MatchAsync_T_(System.Func_TSuccess,System.Threading.Tasks.Task_T__,System.Func_TFailure,System.Threading.Tasks.Task_T__).T 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.MatchAsync\<T\>\(System\.Func\<TSuccess,System\.Threading\.Tasks\.Task\<T\>\>, System\.Func\<TFailure,System\.Threading\.Tasks\.Task\<T\>\>\)\.T')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
A task representing the result of the matching function\.

## Result\<TSuccess,TFailure\>\.MatchAsync\<T\>\(Func\<TSuccess,Task\<T\>\>, Func\<TFailure,T\>\) Method {#Abblix.Utils.Result_TSuccess,TFailure_.MatchAsync_T_(System.Func_TSuccess,System.Threading.Tasks.Task_T__,System.Func_TFailure,T_)}

Asynchronously matches the result and invokes the appropriate function\.

```csharp
public abstract System.Threading.Tasks.Task<T> MatchAsync<T>(System.Func<TSuccess,System.Threading.Tasks.Task<T>> onSuccess, System.Func<TFailure,T> onFailure);
```
#### Type parameters

###### `T` {#Abblix.Utils.Result_TSuccess,TFailure_.MatchAsync_T_(System.Func_TSuccess,System.Threading.Tasks.Task_T__,System.Func_TFailure,T_).T}

The return type of the matching functions\.
#### Parameters

###### `onSuccess` [System\.Func&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')[,](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[T](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.MatchAsync_T_(System.Func_TSuccess,System.Threading.Tasks.Task_T__,System.Func_TFailure,T_).T 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.MatchAsync\<T\>\(System\.Func\<TSuccess,System\.Threading\.Tasks\.Task\<T\>\>, System\.Func\<TFailure,T\>\)\.T')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2') {#Abblix.Utils.Result_TSuccess,TFailure_.MatchAsync_T_(System.Func_TSuccess,System.Threading.Tasks.Task_T__,System.Func_TFailure,T_).onSuccess}

The asynchronous function to invoke if the result is a success\.

###### `onFailure` [System\.Func&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure')[,](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[T](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.MatchAsync_T_(System.Func_TSuccess,System.Threading.Tasks.Task_T__,System.Func_TFailure,T_).T 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.MatchAsync\<T\>\(System\.Func\<TSuccess,System\.Threading\.Tasks\.Task\<T\>\>, System\.Func\<TFailure,T\>\)\.T')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2') {#Abblix.Utils.Result_TSuccess,TFailure_.MatchAsync_T_(System.Func_TSuccess,System.Threading.Tasks.Task_T__,System.Func_TFailure,T_).onFailure}

The function to invoke if the result is a failure\.

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[T](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.MatchAsync_T_(System.Func_TSuccess,System.Threading.Tasks.Task_T__,System.Func_TFailure,T_).T 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.MatchAsync\<T\>\(System\.Func\<TSuccess,System\.Threading\.Tasks\.Task\<T\>\>, System\.Func\<TFailure,T\>\)\.T')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
A task representing the result of the matching function\.

## Result\<TSuccess,TFailure\>\.Success\(TSuccess\) Method {#Abblix.Utils.Result_TSuccess,TFailure_.Success(TSuccess)}

Creates a successful result with the specified value\.

```csharp
public static Abblix.Utils.Result<TSuccess,TFailure> Success(TSuccess value);
```
#### Parameters

###### `value` [TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess') {#Abblix.Utils.Result_TSuccess,TFailure_.Success(TSuccess).value}

The success value\.

#### Returns
[Abblix\.Utils\.Result&lt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')[,](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure')[&gt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')  
A [Result&lt;TSuccess,TFailure&gt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>') representing a successful result\.

## Result\<TSuccess,TFailure\>\.TryGetFailure\(TFailure\) Method {#Abblix.Utils.Result_TSuccess,TFailure_.TryGetFailure(TFailure)}

Determines whether the result is a failure\.

```csharp
public abstract bool TryGetFailure(out TFailure value);
```
#### Parameters

###### `value` [TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure') {#Abblix.Utils.Result_TSuccess,TFailure_.TryGetFailure(TFailure).value}

When this method returns, contains the failure value if the result is a failure;
            otherwise, the default value\.

#### Returns
[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')  
`true` if the result is a failure; otherwise, `false`\.

## Result\<TSuccess,TFailure\>\.TryGetSuccess\(TSuccess\) Method {#Abblix.Utils.Result_TSuccess,TFailure_.TryGetSuccess(TSuccess)}

Determines whether the result is a success\.

```csharp
public abstract bool TryGetSuccess(out TSuccess value);
```
#### Parameters

###### `value` [TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess') {#Abblix.Utils.Result_TSuccess,TFailure_.TryGetSuccess(TSuccess).value}

When this method returns, contains the success value if the result is successful;
            otherwise, the default value\.

#### Returns
[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')  
`true` if the result is a success; otherwise, `false`\.
### Operators

## Result\<TSuccess,TFailure\>\.explicit operator TSuccess\(Result\<TSuccess,TFailure\>\) Operator {#Abblix.Utils.Result_TSuccess,TFailure_.op_ExplicitTSuccess(Abblix.Utils.Result_TSuccess,TFailure_)}

Converts the result explicitly to the success value\.

```csharp
public static TSuccess explicit operator TSuccess(Abblix.Utils.Result<TSuccess,TFailure> result);
```
#### Parameters

###### `result` [Abblix\.Utils\.Result&lt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')[,](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure')[&gt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>') {#Abblix.Utils.Result_TSuccess,TFailure_.op_ExplicitTSuccess(Abblix.Utils.Result_TSuccess,TFailure_).result}

The result instance\.

#### Returns
[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')  
The success value\.

#### Exceptions

[System\.InvalidOperationException](https://learn.microsoft.com/en-us/dotnet/api/system.invalidoperationexception 'System\.InvalidOperationException')  
Thrown if the result is a failure\.

## Result\<TSuccess,TFailure\>\.implicit operator Result\<TSuccess,TFailure\>\(TFailure\) Operator {#Abblix.Utils.Result_TSuccess,TFailure_.op_ImplicitAbblix.Utils.Result_TSuccess,TFailure_(TFailure)}

Implicitly converts a value of type [TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure') to a failed result\.

```csharp
public static Abblix.Utils.Result<TSuccess,TFailure> implicit operator Abblix.Utils.Result<TSuccess,TFailure>(TFailure error);
```
#### Parameters

###### `error` [TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure') {#Abblix.Utils.Result_TSuccess,TFailure_.op_ImplicitAbblix.Utils.Result_TSuccess,TFailure_(TFailure).error}

The failure value\.

#### Returns
[Abblix\.Utils\.Result&lt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')[,](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure')[&gt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')

## Result\<TSuccess,TFailure\>\.implicit operator Result\<TSuccess,TFailure\>\(TSuccess\) Operator {#Abblix.Utils.Result_TSuccess,TFailure_.op_ImplicitAbblix.Utils.Result_TSuccess,TFailure_(TSuccess)}

Implicitly converts a value of type [TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess') to a successful result\.

```csharp
public static Abblix.Utils.Result<TSuccess,TFailure> implicit operator Abblix.Utils.Result<TSuccess,TFailure>(TSuccess value);
```
#### Parameters

###### `value` [TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess') {#Abblix.Utils.Result_TSuccess,TFailure_.op_ImplicitAbblix.Utils.Result_TSuccess,TFailure_(TSuccess).value}

The success value\.

#### Returns
[Abblix\.Utils\.Result&lt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TSuccess](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TSuccess 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TSuccess')[,](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')[TFailure](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_#Abblix.Utils.Result_TSuccess,TFailure_.TFailure 'Abblix\.Utils\.Result\<TSuccess,TFailure\>\.TFailure')[&gt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\<TSuccess,TFailure\>')
