protected void ExportMapInformation <TFrom, TTo>(IMappingCollection <TFrom, TTo, TContext> map) { #if SILVERLIGHT // Under silverlight there is no easy way to dump this mapping data for now... #else if (_mapper.DiagnosticsEnabled && !string.IsNullOrEmpty(_mapper.ExportedMapsDirectory)) { var filename = string.Format("{0}_To_{1}.xml", typeof(TFrom).Name, typeof(TTo).Name); var mapEntry = new TypeToTypeMap(); mapEntry.Members = map.Setters.Select(s => new MapMemberDescription { order = s.SetOrder, name = s.DestinationMember.ToMemberName(), type = s.DestinationType.FullName, Source = s.IsIgnored ? null : new MemberDescription { name = s.SourceObjectType == MemberEntryType.Member ? s.SourceMember.ToMemberName() : null, type = s.SourceType != null ? s.SourceType.FullName : null, Function = s.SourceObjectType == MemberEntryType.Function ? "Custom Function" : null }, remapped = s.Remap }).ToArray(); var serializer = new XmlSerializer(mapEntry.GetType()); using (var outputStream = XmlWriter.Create(Path.Combine(_mapper.ExportedMapsDirectory, filename), new XmlWriterSettings { Indent = true })) { serializer.Serialize(outputStream, mapEntry); } } #endif }
public CachingImplementationResolver(ImplementationResolver decoratoredResolver, TypeToTypeMap resolvedTypeCache) { this.decoratoredResolver = decoratoredResolver; this.resolvedTypeCache = resolvedTypeCache; }