예제 #1
0
        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
        }
예제 #2
0
 public CachingImplementationResolver(ImplementationResolver decoratoredResolver, TypeToTypeMap resolvedTypeCache)
 {
     this.decoratoredResolver = decoratoredResolver;
     this.resolvedTypeCache   = resolvedTypeCache;
 }
		public CachingImplementationResolver(ImplementationResolver decoratoredResolver, TypeToTypeMap resolvedTypeCache)
		{
			this.decoratoredResolver = decoratoredResolver;
			this.resolvedTypeCache = resolvedTypeCache;
		}