C# result extension for objects

PHOTO EMBED

Tue Dec 24 2024 12:21:54 GMT+0000 (Coordinated Universal Time)

Saved by @rick_m #c#

public class Result<T>
{
    public T Value { get; }
    public string Error { get; }
    public bool IsSuccess => Error == null;

    private Result(T value, string error)
    {
        Value = value;
        Error = error;
    }

    public static Result<T> Success(T value) => new(value, null);
    public static Result<T> Failure(string error) => new(default, error);
}
content_copyCOPY

Use this to implement null checks in a centralized place

https://admirmujkic.medium.com/why-i-stopped-writing-null-checks-b5c5be4341b2