using System.Diagnostics.CodeAnalysis;
static void Main(string[] args)
IResult<string> res = GetSomeResult();
var len = res.Data.Length;
static Result<string> GetSomeResult()
return new Result<string>(string.Empty);
public interface IResult<out T>
[MemberNotNullWhen(true, nameof(Data))]
public class Result<T> : IResult<T>
private readonly T? _data;
public bool IsSuccess() => _data != null;