diff --git a/src/IResult.cs b/src/IResult.cs index e010ec1..fc2dbec 100644 --- a/src/IResult.cs +++ b/src/IResult.cs @@ -7,5 +7,5 @@ public interface IResult where TValue : unmanaged where TError : unmanaged, IError { - + public bool IsSuccess { get; } } diff --git a/src/Result.cs b/src/Result.cs index c80c76d..2224911 100644 --- a/src/Result.cs +++ b/src/Result.cs @@ -12,6 +12,7 @@ namespace UnmanagedResult; private readonly byte _flags; private readonly TValue _value; private readonly Error _error; + public bool IsSuccess => _flags is 0; public Result(TValue value) { @@ -25,13 +26,14 @@ public Result(Error error) _flags = 1; } + public static bool operator true(Result result) { - return result._flags is 0; + return result.IsSuccess; } public static bool operator false(Result result) { - return result._flags is not 0; + return !result.IsSuccess; } } \ No newline at end of file