private static MemberInfo FindPropertyInfo(object target, string name)
{
BindingFlags flags = BindingFlags.FlattenHierarchy
| BindingFlags.Public
| BindingFlags.Instance
| BindingFlags.IgnoreCase;
Type type = target.GetType();
MemberInfo member = type.GetProperty(name, flags);
if(member == null)
{
member = type.GetField(name, flags);
}
return member;
}