namespace MPF.Data
{
///
/// Generic success/failure result object, with optional message
///
public class Result
{
///
/// Internal representation of success
///
private readonly bool success;
///
/// Optional message for the result
///
public string Message { get; private set; }
private Result(bool success, string message)
{
this.success = success;
this.Message = message;
}
///
/// Create a default success result with no message
///
public static Result Success() => new Result(true, "");
///
/// Create a success result with a custom message
///
/// String to add as a message
public static Result Success(string message) => new Result(true, message);
///
/// Create a default failure result with no message
///
///
public static Result Failure() => new Result(false, "");
///
/// Create a failure result with a custom message
///
/// String to add as a message
public static Result Failure(string message) => new Result(false, message);
///
/// Results can be compared to boolean values based on the success value
///
public static implicit operator bool(Result result) => result.success;
}
}