public static BindOptions <TType, TInterface> MapProperty <TType, TInterface, TResult> ( this BindOptions <TType, TInterface> bindOptions, Expression <Func <TType, TResult> > targetMethodExpression, Expression <Func <TInterface, TResult> > interfaceMethodExpression ) => bindOptions.MapProperty <TType, TInterface, TResult> ( targetMethodExpression, (LambdaExpression)interfaceMethodExpression );
private static BindOptions <TType, TInterface> MapProperty <TType, TInterface, TResult> ( this BindOptions <TType, TInterface> bindOptions, LambdaExpression targetMethodExpression, LambdaExpression interfaceMethodExpression ) => bindOptions.MapChain ( targetProperty: targetMethodExpression.FetchMemberInfo <PropertyInfo>(), interfaceProperty: interfaceMethodExpression.FetchMemberInfo <PropertyInfo>() );
private static BindOptions <TType, TInterface> MapMethod <TType, TInterface> ( this BindOptions <TType, TInterface> bindOptions, LambdaExpression targetMethodExpression, LambdaExpression interfaceMethodExpression ) => bindOptions.MapChain ( targetMethod: targetMethodExpression.FetchMethodCall(), interfaceMethod: interfaceMethodExpression.FetchMethodCall() );
public static BindOptions <TType, TInterface> MapMethod <TType, TInterface> ( this BindOptions <TType, TInterface> bindOptions, Expression <Action <TType> > targetMethodExpression, Expression <Action <TInterface> > interfaceMethodExpression ) => bindOptions .MapMethod ( targetMethodExpression, (LambdaExpression)interfaceMethodExpression );
public static BindOptions <TType, TInterface> MapChain <TType, TInterface> ( this BindOptions <TType, TInterface> bindOptions, MethodInfo targetMethod, MethodInfo interfaceMethod ) { bindOptions.Map ( targetMethod, interfaceMethod ); return(bindOptions); }
public static BindOptions <TType, TInterface> MapChain <TType, TInterface> ( this BindOptions <TType, TInterface> bindOptions, PropertyInfo targetProperty, PropertyInfo interfaceProperty ) { bindOptions.Map ( targetProperty, interfaceProperty ); return(bindOptions); }