public static void Main()
foreach(PropertyInfo pi in foo.GetType().GetProperties())
Console.WriteLine("Property: " + pi.PropertyType.FullName);
Console.WriteLine("\tCan Read: " + pi.CanRead);
Console.WriteLine("\tCan Write: " + pi.CanWrite);
pi.SetValue(foo, "Brennan");
Console.WriteLine(foo.Bar);
public string Bar { get; private set; }