Class Result<TResult, TError>

Namespace
Cratis.Monads
Assembly
Cratis.Fundamentals.dll

Represents the result of trying an execution that can return a result or an error.

public class Result<TResult, TError> : OneOfBase<TResult, TError>, IOneOf

Type Parameters

TResult

The result type.

TError

The error type.

Inheritance
OneOfBase<TResult, TError>
Result<TResult, TError>
Implements
IOneOf
Inherited Members
OneOfBase<TResult, TError>.TryPickT0(out TResult, out TError)
OneOfBase<TResult, TError>.TryPickT1(out TError, out TResult)
OneOfBase<TResult, TError>.ToString()
OneOfBase<TResult, TError>.GetHashCode()
OneOfBase<TResult, TError>.Value
OneOfBase<TResult, TError>.Index
OneOfBase<TResult, TError>.IsT0
OneOfBase<TResult, TError>.IsT1
OneOfBase<TResult, TError>.AsT0
OneOfBase<TResult, TError>.AsT1
Extension Methods

Properties

IsSuccess

Gets a value indicating whether the execution was successful, meaning it has a result.

public bool IsSuccess { get; }

Property Value

bool

Methods

Failed(TError)

Creates a failed Result<TError>.

public static Result<TResult, TError> Failed(TError error)

Parameters

error TError

The optional error.

Returns

Result<TResult, TError>

The created Result<TError>.

Success(TResult)

Creates a successful Result<TError>.

public static Result<TResult, TError> Success(TResult value)

Parameters

value TResult

The value.

Returns

Result<TResult, TError>

The created Result<TError>.

TryGetError(out TError)

Try to get the error.

public bool TryGetError(out TError error)

Parameters

error TError

The optional error.

Returns

bool

A boolean indicating whether the error was present.

TryGetResult(out TResult)

Try to get the result TResult.

public bool TryGetResult(out TResult result)

Parameters

result TResult

The result.

Returns

bool

A boolean indicating whether the result was present.

Operators

explicit operator TResult(Result<TResult, TError>)

public static explicit operator TResult(Result<TResult, TError> obj)

Parameters

obj Result<TResult, TError>

Returns

TResult

explicit operator TError(Result<TResult, TError>)

public static explicit operator TError(Result<TResult, TError> obj)

Parameters

obj Result<TResult, TError>

Returns

TError

implicit operator Result<TResult, TError>(TResult)

public static implicit operator Result<TResult, TError>(TResult value)

Parameters

value TResult

Returns

Result<TResult, TError>

implicit operator Result<TResult, TError>(TError)

public static implicit operator Result<TResult, TError>(TError error)

Parameters

error TError

Returns

Result<TResult, TError>