Result2 by Marcus Turewicz, Jane

<PackageReference Include="Result2" Version="2.0.0-beta.1" />

 Result

public class Result : IResult
public Exception Exception { get; protected set; }

public bool Ok { get; protected set; }

public string Reason { get; protected set; }

public Result(bool ok, string reason, Exception exception = null)

public static IResult Failure(string reason)

public static IResult Failure(string reason, object[] args)

public static IResult<T> Failure<T>(string reason)

public static IResult<T> Failure<T>(string reason, object[] args)

public static IResult Failure(Exception ex)

public static IResult<T> Failure<T>(Exception ex)

public static IResult From(Action operation)

public static IResult<T> From<T>(Func<T> operation)

public static IEnumerable<IResult> Group(IResult[] results)

public static IEnumerable<IResult<T>> Group<T>(IResult<T>[] results)

public static IResult Success()

public static IResult<T> Success<T>(T value)