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); }