public QualifiedMember RootTarget <TSource, TTarget>() { var rootMember = _memberCache.GetOrAdd( QualifiedMemberKey.Keys <TSource, TTarget> .Target, k => { var targetMember = QualifiedMember.CreateRoot(Member.RootTarget <TTarget>(), _mapperContext); SetContext <TSource, TTarget>(targetMember); return(GetFinalTargetMember(targetMember)); }); return((QualifiedMember)rootMember); }
public IQualifiedMember RootSource <TSource, TTarget>() { var rootMember = _memberCache.GetOrAdd( QualifiedMemberKey.Keys <TSource, TTarget> .Source, k => { var matchedTargetMember = RootTarget <TSource, TTarget>(); var sourceMember = QualifiedMember .CreateRoot(Member.RootSource <TSource>(), _mapperContext) .SetContext(matchedTargetMember.Context); return(GetFinalSourceMember(sourceMember, matchedTargetMember)); }); return(rootMember); }