protected override Expression VisitUnary(UnaryExpression node)
            {
                var vis = new XmlMappingSetterVisitor();

                vis.Visit(node.Operand);
                this.MappingSetter = vis.MappingSetter;
                return(null);
            }
Example #2
0
        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);
        }