Lets say I have
class Person
{
public Person(int age, string name)
{
Age = age;
Name = name;
}
public int Age{get;set}
You can do something like this:
Person p = new Person( 10, "test" );
IEnumerable fields = typeof( Person ).GetFields( BindingFlags.NonPublic | BindingFlags.Instance );
string name = ( string ) fields.Single( f => f.Name.Equals( "name" ) ).GetValue( p );
int age = ( int ) fields.Single( f => f.Name.Equals( "age" ) ).GetValue( p );
Keep in mind since these are private instance fields you need to explicitly state the binding flags in order to get them via reflection.
Edit:
It seems you changed your sample from using fields to properties, so I'm just going to leave this here in case you change back again. :)