Interface IEvaluatorFactory
Interface representing a factory for evaluators of members and expressions.
Namespace: System.Linq.Expressions
Assembly: Nuqleon.Linq.Expressions.Optimizers.dll
Syntax
public interface IEvaluatorFactory
  Methods
GetEvaluator(BinaryExpression)
Get an evaluator delegate for the specified binary expression template. The operands of the template expression will be substituted for the parameters passed in to the evaluator.
Declaration
Func<object, object, object> GetEvaluator(BinaryExpression node)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Linq.Expressions.BinaryExpression | node | The binary expression template to build an evaluator for.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Func<System.Object, System.Object, System.Object> | An evaluator delegate to evaluate the specified parameterized binary expression.  | 
      
GetEvaluator(Expression)
Gets an evaluator delegate for the specified expression that's free of parameters.
Declaration
Func<object> GetEvaluator(Expression expression)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Linq.Expressions.Expression | expression | The expression to get an evaluator delegate for.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Func<System.Object> | A delegate that returns an System.Object with the result of evaluating the expression.  | 
      
GetEvaluator(UnaryExpression)
Get an evaluator delegate for the specified unary expression template. The operand of the template expression will be substituted for the parameter passed in to the evaluator.
Declaration
Func<object, object> GetEvaluator(UnaryExpression node)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Linq.Expressions.UnaryExpression | node | The unary expression template to build an evaluator for.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Func<System.Object, System.Object> | An evaluator delegate to evaluate the specified parameterized unary expression.  | 
      
GetEvaluator(MemberInfo)
Gets an evaluator delegate for the specified member.
Declaration
Delegate GetEvaluator(MemberInfo member)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Reflection.MemberInfo | member | The member to get an evaluator delegate for.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Delegate | An evaluator delegate for the specified   |