protected ExpressionExecutionDecoratorBase(ExpressionExecutionDecorator <TDataTranferObject> parent) : this((IExpressionExecutionDecorator <TDataTranferObject>)parent) { }
/// <summary> /// Decorate with custom strategy. /// </summary> public static ExpressionExecutionDecorator <TDataTranferObject> With <TDataTranferObject>( this ExpressionExecutionDecorator <TDataTranferObject> decorator, Func <TDataTranferObject, TDataTranferObject> transform) => new ExpressionExecutorWithDynamicObjectResultProcessor <TDataTranferObject>(decorator, transform);
/// <summary> /// Replace result transformation logic with custom strategy. /// </summary> public static ExpressionExecutionDecorator <TDataTranferObject> With <TDataTranferObject>( this ExpressionExecutionDecorator <TDataTranferObject> decorator, Func <object?, TDataTranferObject> transform) => new ExpressionExecutorWithResultConverter <TDataTranferObject>(decorator, transform);
/// <summary> /// Replace expression execution logic with custom strategy. /// </summary> public static ExpressionExecutionDecorator <TDataTranferObject> With <TDataTranferObject>( this ExpressionExecutionDecorator <TDataTranferObject> decorator, Func <SystemLinq.Expression, object> transform) => new ExpressionExecutorWithExpressionExecutor <TDataTranferObject>(decorator, transform);
/// <summary> /// Decorate with custom strategy. /// </summary> public static ExpressionExecutionDecorator <TDataTranferObject> With <TDataTranferObject>( this ExpressionExecutionDecorator <TDataTranferObject> decorator, Func <RemoteLinq.Expression, RemoteLinq.Expression> transform) => new ExpressionExecutorWithRemoteExpressionTransformer <TDataTranferObject>(decorator, transform);
protected ExpressionExecutionDecorator(ExpressionExecutionDecorator <TDataTranferObject> parent) : base(parent) { }