using System;
public class Program
{
public static void Main()
var r = new FooBarResult(){ IsSuccessful = false };
var p = r.Payload;
}
public class FooBarResult
public bool IsSuccessful {get; set;}
// just doing one to demonstrate
private string _payload;
public string Payload
get { if(IsSuccessful) return _payload; throw new InvalidOperationException(); }
set { _payload = value; }