public static void Main()
Console.WriteLine(typeof(Foo).GetFields().Length);
foreach (var f in typeof(Foo).GetFields())
Console.WriteLine(f.Name);
Console.WriteLine("Should be a go.");
var field = typeof(Foo).GetField("<Context>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance);
Console.WriteLine(field != null);
Console.WriteLine(o.Number);
public abstract class Foo
public int Number { get; private set; }
public Foo() { Number = 10; }
public class Bar : Foo { }