Implementing F# inspired Result in C#

Here's a F# inspired Result type implemented in C#:

public class Error
    public Error(string error) => Value = error;
    public string Value { get; }

public class Result<T>
    readonly string _error;

    public Result(Error error)  => _error = error.Value;
    public Result(T value) => Value = value;

    public bool IsSuccessful { get => _error == null; }

    public T Value { get; }

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: