public ITypeTransformerBuilder <T> Transform(string propertyName, IPropertyTransformer transformer)
        {
            var property = GetPropertyInfo(propertyName);

            if (_propertyTransformers.ContainsKey(property))
            {
                _propertyTransformers[property].Custom = transformer;
            }

            return(this);
        }
        public ITypeTransformerBuilder <T> Transform(Func <PropertyInfo, bool> propertyFunc, IPropertyTransformer transformer)
        {
            var properties = GetPropertyInfos(propertyFunc).ToArray();

            foreach (var property in properties)
            {
                _propertyTransformers[property].Custom = transformer;
            }

            return(this);
        }
        public ITypeTransformerBuilder <T> Transform(Expression <Func <T, object> > expression, IPropertyTransformer transformer)
        {
            var property = GetPropertyInfo(expression);

            if (_propertyTransformers.ContainsKey(property))
            {
                _propertyTransformers[property].Custom = transformer;
            }

            return(this);
        }