PolicyResult<TResult>
The captured result of executing a policy
using System;
namespace Polly
{
public class PolicyResult<TResult>
{
private readonly TResult _result;
private readonly OutcomeType _outcome;
private readonly Exception _finalException;
private readonly ExceptionType? _exceptionType;
public OutcomeType Outcome => _outcome;
public Exception FinalException => _finalException;
public ExceptionType? ExceptionType => _exceptionType;
public TResult Result => _result;
internal PolicyResult(TResult result, OutcomeType outcome, Exception finalException, ExceptionType? exceptionType)
{
_result = result;
_outcome = outcome;
_finalException = finalException;
_exceptionType = exceptionType;
}
internal static PolicyResult<TResult> Successful(TResult result)
{
return new PolicyResult<TResult>(result, OutcomeType.Successful, null, null);
}
internal static PolicyResult<TResult> Failure(Exception exception, ExceptionType exceptionType)
{
return new PolicyResult<TResult>(default(TResult), OutcomeType.Failure, exception, exceptionType);
}
}
}