Ejemplo n.º 1
0
        /// <summary>
        /// Create a one-way mapping between Source and Target types.
        /// </summary>
        /// <typeparam name="TSource">Source type.</typeparam>
        /// <typeparam name="TTarget">Target type.</typeparam>
        /// <remarks>The method is thread safe.</remarks>
        public static void Bind <TSource, TTarget>()
        {
            var typePair = TypePair.Create <TSource, TTarget>();

            lock (_mappersLock)
            {
                _mappers[typePair] = _targetMapperBuilder.Build(typePair);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        ///     Create a one-way mapping between one type and another
        /// </summary>
        /// <typeparam name="TSource">Source type</typeparam>
        /// <typeparam name="TTarget">Target type</typeparam>
        public static void Bind <TSource, TTarget>()
        {
            TypePair typePair = TypePair.Create <TSource, TTarget>();

            _mappersLock.EnterWriteLock();
            try
            {
                _mappers[typePair] = _targetMapperBuilder.Build(typePair);
            }
            finally
            {
                _mappersLock.ExitWriteLock();
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Create a one-way mapping between Source and Target types.
        /// </summary>
        /// <param name="sourceType">Source type.</param>
        /// <param name="targetType">Target type.</param>
        /// <remarks>The method is thread safe.</remarks>
        public IObjectMapper Bind(Type sourceType, Type targetType)
        {
            if (sourceType == null)
            {
                throw new ArgumentNullException(nameof(sourceType));
            }
            if (targetType == null)
            {
                throw new ArgumentNullException(nameof(targetType));
            }
            TypePair typePair = TypePair.Create(sourceType, targetType);
            var      mapper   = _targetMapperBuilder.Build(typePair);

            Bind(typePair, mapper);
            return(this);
        }
Ejemplo n.º 4
0
        public static void Bind <TSource, TTarget>()
        {
            TypePair typePair = TypePair.Create <TSource, TTarget>();

            _mappers[typePair] = _targetMapperBuilder.Build(typePair);
        }