private static string CreateEntryDescription(BuilderConfigurationEntry entry, Type sourceType, Type targetType) { var sourceTypeName = sourceType.Name; var targetTypeName = targetType.Name; if (entry.MapType == MapType.MapAll) { return(string.Format("MapAll: {0}->{1}", sourceTypeName, targetTypeName)); } if (entry.MapType == MapType.MapFunction) { return(string.Format("MappingFunction({0}, {1})", sourceTypeName, targetTypeName)); } if (entry.MapType == MapType.MapIgnore) { var sourceTargetEntry = (BuilderConfigurationIgnoreEntry)entry; var targetMember = MemberExpessionVisitor.GetMember(sourceTargetEntry.TargetExpression); var result = string.Format("Ignored: -> {0}.{1}", targetTypeName, targetMember == null ? "?" : targetMember.Member.Name); return(result); } else { //Entry MUST be BuilderConfigurationSourceTargetExpressionEntry for any other MapTypes... var sourceTargetEntry = (BuilderConfigurationSourceTargetExpressionEntry)entry; var sourceMember = MemberExpessionVisitor.GetMember(sourceTargetEntry.SourceExpression); var targetMember = MemberExpessionVisitor.GetMember(sourceTargetEntry.TargetExpression); var result = string.Format("{0}.{1} -> {2}.{3}", sourceTypeName, sourceMember == null ? "?" : sourceMember.Member.Name, targetTypeName, targetMember == null ? "?" : targetMember.Member.Name ); return(result); } }
void IInternalBuilder.AddEntry(BuilderConfigurationEntry entry) { //Copy NamedResolutions to the entry entry.NamedResolutions = new Dictionary <Type, string>(_namedResolutions); _builderEntries.Add(entry); }