public IMemberConfiguration <T, TN> Function <TMember, TNMember>(Expression <Func <TN, TNMember> > dest, Func <T, TMember> src)
        {
            var memberExpression = dest.Body as MemberExpression;

            if (memberExpression == null)
            {
                throw new Exception("MemberExpression should return one of the properties of destination class");
            }

            var propertyInfo = typeof(TN).GetProperty(memberExpression.Member.Name);

            if (propertyInfo.CanWrite && propertyInfo.GetSetMethod(true).IsPublic)
            {
                _typeMapper.MapFunction(dest, src);
            }
            return(this);
        }