示例#1
0
        PairedMembers IMemberMappingDefinition.CreateMapping(MappingDefinitionInformation mappingDefinition, Type fromClass, Type toClass)
        {
            var memberFrom = new MemberFromNameParser(fromClass).ParseRead(this.aFromName);
            var memberTo   = new MemberFromNameParser(toClass).ParseWrite(this.aToName);

            var mapping = mappingDefinition.UnresolvedMappings.GetUnresolvedMapping(memberFrom.Type, memberTo.Type);

            return(new PairedMembers(memberFrom, memberTo, mapping));
        }
        PairedMembers IMemberMappingDefinition.CreateMapping(MappingDefinitionInformation mappingDefinition, Type fromClass, Type toClass)
        {
            IMember memberFrom;

            if (this.aFromName == null)
            {
                memberFrom = new ThisMember <TFromType>();
            }
            else
            {
                memberFrom = new MemberFromNameParser(fromClass).ParseRead(this.aFromName);
            }
            IMember memberTo;

            if (this.aToName == null)
            {
                memberTo = new ThisMember <TToType>();
            }
            else
            {
                memberTo = new MemberFromNameParser(toClass).ParseWrite(this.aToName);
            }

            IUnresolvedMapping <TFromType, TToType> mapping;

            if (this.aRules == null)
            {
                mapping = mappingDefinition.UnresolvedMappings.GetUnresolvedMapping <TFromType, TToType>();
            }
            else
            {
                mapping = this.aRules.Create(mappingDefinition).AsUnresolved();
            }

            return(new PairedMembers(memberFrom, memberTo, mapping));
        }