Interface IReificationBinder<TEnvironment>
Interface for binding reified operation to a given environment.
Namespace: Reaqtor.ReificationFramework
Assembly: Reaqtor.ReificationFramework.dll
Syntax
public interface IReificationBinder<TEnvironment>
Type Parameters
| Name | Description |
|---|---|
| TEnvironment | The environment type. |
Methods
Bind(QueryEngineOperation)
Binds a query engine operation to the environment.
Declaration
Expression<Action<TEnvironment>> Bind(QueryEngineOperation operation)
Parameters
| Type | Name | Description |
|---|---|---|
| QueryEngineOperation | operation | The operation to bind. |
Returns
| Type | Description |
|---|---|
| System.Linq.Expressions.Expression<System.Action<TEnvironment>> | A lambda expression that can be evaluated with an environment
instance returned from the |
Bind(ServiceOperation)
Binds a service operation to the environment.
Declaration
Expression<Action<TEnvironment>> Bind(ServiceOperation operation)
Parameters
| Type | Name | Description |
|---|---|---|
| ServiceOperation | operation | The operation to bind. |
Returns
| Type | Description |
|---|---|
| System.Linq.Expressions.Expression<System.Action<TEnvironment>> | A lambda expression that can be evaluated with an environment
instance returned from the |
CreateEnvironment()
Creates a fresh instance of the environment.
Declaration
TEnvironment CreateEnvironment()
Returns
| Type | Description |
|---|---|
| TEnvironment | A fresh instance of the environment. |
Optimize(Expression<Action<TEnvironment>>)
Optimizes an expression a bound reified operation.
Declaration
Expression<Action<TEnvironment>> Optimize(Expression<Action<TEnvironment>> expression)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Linq.Expressions.Expression<System.Action<TEnvironment>> | expression | The expression to optimize. |
Returns
| Type | Description |
|---|---|
| System.Linq.Expressions.Expression<System.Action<TEnvironment>> | The optimized expression. |
Remarks
E.g., an optimization might share resources over successive calls in a loop.