33
44namespace TurboMapper
55{
6+ /// <summary>
7+ /// Defines a mapping expression for configuring property mappings between source and target types.
8+ /// </summary>
9+ /// <typeparam name="TSource"></typeparam>
10+ /// <typeparam name="TTarget"></typeparam>
611 public interface IMappingExpression < TSource , TTarget >
712 {
13+ /// <summary>
14+ /// Configures a mapping for a specific member from the source type to the target type.
15+ /// </summary>
16+ /// <typeparam name="TValue"></typeparam>
17+ /// <param name="targetMember"></param>
18+ /// <param name="sourceMember"></param>
19+ /// <returns></returns>
820 IMappingExpression < TSource , TTarget > ForMember < TValue > ( Expression < Func < TTarget , TValue > > targetMember , Expression < Func < TSource , TValue > > sourceMember ) ;
21+ /// <summary>
22+ /// Ignores a specific member in the target type during the mapping process.
23+ /// </summary>
24+ /// <typeparam name="TValue"></typeparam>
25+ /// <param name="targetMember"></param>
26+ /// <returns></returns>
27+ IMappingExpression < TSource , TTarget > Ignore < TValue > ( Expression < Func < TTarget , TValue > > targetMember ) ;
28+ /// <summary>
29+ /// Applies a condition to a specific member in the target type, determining whether it should be mapped based on the provided condition function.
30+ /// </summary>
31+ /// <typeparam name="TValue"></typeparam>
32+ /// <param name="targetMember"></param>
33+ /// <param name="condition"></param>
34+ /// <returns></returns>
35+ IMappingExpression < TSource , TTarget > When < TValue > ( Expression < Func < TTarget , TValue > > targetMember , Func < TSource , bool > condition ) ;
36+ /// <summary>
37+ /// Maps a target member using a custom transformation function that takes a source value and produces a target value.
38+ /// </summary>
39+ /// <typeparam name="TSourceValue"></typeparam>
40+ /// <typeparam name="TTargetValue"></typeparam>
41+ /// <param name="targetMember"></param>
42+ /// <param name="transformFunction"></param>
43+ /// <returns></returns>
44+ IMappingExpression < TSource , TTarget > MapWith < TSourceValue , TTargetValue > ( Expression < Func < TTarget , TTargetValue > > targetMember , Func < TSourceValue , TTargetValue > transformFunction ) ;
945 }
1046}
0 commit comments