public static void Main() { var result = new MyClass().TrySomeFunction(); if (result.Succeeded) { // use it MyReturningResultType resultValue = result.GetResultValue(); } else { // use message string message = result.ResultMessage; } }
Result <MyReturningResultType> TrySomeFunction() { try { MyReturningResultType value = CalculateIt(); return(new Result <MyReturningResultType>(value) { Succeeded = true }); } catch (Exception exception) { return(new Result <MyReturningResultType>(default(MyReturningResultType)) { Succeeded = false, ResultMessage = exception.Message }); } }