コード例 #1
0
        private IInputReader GetReader(Type type, string profile)
        {
            var key = new MapperKey(type, profile);

            if (!profiledReaderCache.TryGetValue(key, out var reader))
            {
                reader = profiledReaderCache.AddIfNotExist(key, CreateReader);
            }

            return(reader);
        }
コード例 #2
0
        private IOutputWriter GetWriter(Type type, string profile)
        {
            var key = new MapperKey(type, profile);

            if (!profiledWriterCache.TryGetValue(key, out var writer))
            {
                writer = profiledWriterCache.AddIfNotExist(key, CreateWriter);
            }

            return(writer);
        }
コード例 #3
0
 public IObjectMappingData <TNewSource, TNewTarget> As <TNewSource, TNewTarget>()
     where TNewSource : class
     where TNewTarget : class
 {
     return(new ObjectMappingData <TNewSource, TNewTarget>(
                Source as TNewSource,
                Target as TNewTarget,
                GetEnumerableIndex(),
                MapperKey.WithTypes <TNewSource, TNewTarget>(),
                MappingContext,
                this,
                _parent));
 }
コード例 #4
0
        private IInputReader CreateReader(MapperKey key)
        {
            var readerType = ResolveReaderType(key.Type);

            return((IInputReader)Activator.CreateInstance(readerType, config, key.Profile));
        }
コード例 #5
0
 /// <summary>
 ///   Initializes a new instance of the <see cref="MapperDescription" /> class.
 /// </summary>
 /// <param name="mapper">The mapper.</param>
 /// <param name="key">The key.</param>
 /// <param name="id">The id.</param>
 public MapperDescription(MapperBase mapper, MapperKey key, int id)
 {
     Mapper = mapper;
     Key    = key;
     Id     = id;
 }
コード例 #6
0
        private IOutputWriter CreateWriter(MapperKey key)
        {
            var writerType = ResolveWriterType(key.Type);

            return((IOutputWriter)Activator.CreateInstance(writerType, config, key.Profile));
        }