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:

WordPress.com Logo

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

Google photo

You are commenting using your Google 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