private Func<MemberInfo, bool> MembersToMap(Func<PropertyInfo, bool> shouldMapProperty, Func<FieldInfo, bool> shouldMapField)
{
return m =>
{
var property = m as PropertyInfo;
if(property != null)
{
return !property.IsStatic() && shouldMapProperty(property);
}
var field = (FieldInfo)m;
return !field.IsStatic && shouldMapField(field);
};
}