Result<TError>
This is a type that indicates success or error in a given operation, it also can hold an error describing what was wrong. It offers a way to emulate a void method that could return an Exception.
Operators
Implicit Result<TError> (TError)
Allows the client to set the TError value to a Result.
Result<IError> result = new CustomError("Error");
Console.WriteLine(result);
//"Error"Implicit TError
Allows the client to get the TError value from a Result.
Result<IError> result = new CustomError("Error");
Console.WriteLine(result);
//"Error"Implicit bool
Allows the client to know if a Result is Ok or an Error.
Result<IError> result = new CustomError("Error");
if(result)
Console.WriteLine("Ok");
else
Console.WriteLine(result.ErrorValue);
//"Error"Properties
IsOk
Indicates if the operation was executed successfully.
var result = obj.Method(); //returns Result<TError> (Ok)
Console.WriteLine(result.IsOk);
//trueIsError
Indicates if the operation was not executed successfully.
var result = obj.Method(); //returns Result<TError> (Error);
Console.WriteLine(result.IsError);
//trueErrorValue
Returns TError if Error or throws a ErrorValueException if OK.
Result<IError> result = obj.Method(); //returns new CustomError("Error")
Console.WriteLine(result.ErrorValue);
//"Error"