private IBsonSerializer BuildNew(NewExpression node) { if (node.Type == typeof(DateTime)) { return(DateTimeSerializer.UtcInstance); } var mapping = ProjectionMapper.Map(node); return(BuildProjectedSerializer(mapping)); }
public static ProjectionMapping Map(Expression node) { var mapper = new ProjectionMapper(); mapper.Visit(node); return(new ProjectionMapping { Constructor = mapper._constructor, Expression = node, Members = mapper._mappings }); }
private IBsonSerializer BuildMemberInit(MemberInitExpression node) { var mapping = ProjectionMapper.Map(node); return(BuildProjectedSerializer(mapping)); }