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; }