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
TResultThe result type.
TErrorThe 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>.ValueOneOfBase<TResult, TError>.IndexOneOfBase<TResult, TError>.IsT0OneOfBase<TResult, TError>.IsT1OneOfBase<TResult, TError>.AsT0OneOfBase<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
Methods
Failed(TError)
Creates a failed Result<TError>.
public static Result<TResult, TError> Failed(TError error)
Parameters
errorTErrorThe 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
valueTResultThe value.
Returns
- Result<TResult, TError>
The created Result<TError>.
TryGetError(out TError)
Try to get the error.
public bool TryGetError(out TError error)
Parameters
errorTErrorThe 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
resultTResultThe 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
objResult<TResult, TError>
Returns
- TResult
explicit operator TError(Result<TResult, TError>)
public static explicit operator TError(Result<TResult, TError> obj)
Parameters
objResult<TResult, TError>
Returns
- TError
implicit operator Result<TResult, TError>(TResult)
public static implicit operator Result<TResult, TError>(TResult value)
Parameters
valueTResult
Returns
- Result<TResult, TError>
implicit operator Result<TResult, TError>(TError)
public static implicit operator Result<TResult, TError>(TError error)
Parameters
errorTError
Returns
- Result<TResult, TError>