protected override Expression VisitUnary(UnaryExpression node) { var vis = new XmlMappingSetterVisitor(); vis.Visit(node.Operand); this.MappingSetter = vis.MappingSetter; return(null); }
protected override Expression VisitMethodCall(MethodCallExpression node) { DummyFieldMapper dummyFieldMapper = new DummyFieldMapper(); var methodInfo = node.Method; methodInfo.Invoke(dummyFieldMapper, node.Arguments.Cast <ConstantExpression>().Select(i => i.Value).ToArray()); this.MappingSetter = dummyFieldMapper.MappingSetter; return(null); }
private XmlFieldDefinition GetMappingSetterDefinition(Expression argument, PropertyInfo propertyInfo) { XmlMappingSetterVisitor vis = new XmlMappingSetterVisitor(); vis.Visit(argument); XmlFieldDefinition mappingSetter = vis.MappingSetter; mappingSetter.TargetPropertyInfo = propertyInfo; return(mappingSetter); }