Created
August 19, 2025 10:27
-
-
Save realazaber/4c01e16bee582168a7d1e954bd4179a5 to your computer and use it in GitHub Desktop.
My custom implementation of a Result class to use in C# instead of Exceptions.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| public class Result | |
| { | |
| public bool IsSuccess { get; } | |
| public string Message { get; } | |
| protected Result(bool successful, string message) | |
| { | |
| IsSuccess = successful; | |
| Message = message; | |
| } | |
| public static Result Success(string message) => new Result(true, message); | |
| public static Result Failure(string message) => new Result(false, message); | |
| } | |
| public class Result<T> : Result | |
| { | |
| public T Value { get; } | |
| private Result(bool successful, string message, T value = default!) | |
| : base(successful, message) | |
| { | |
| Value = value!; | |
| } | |
| public static Result<T> Success(T value, string message) | |
| => new Result<T>(true, message, value); | |
| public static new Result<T> Failure(string message) | |
| => new Result<T>(false, message); | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment