private static PropertyInfo GetProperty(object obj, string propertyName)
{
for (Type t = obj.GetType(); t != null; t = t.GetTypeInfo().BaseType)
{
PropertyInfo pi = t.GetTypeInfo().GetDeclaredProperty(propertyName);
if (pi != null)
{
return pi;
}
}
return null;
}