Class DefaultEvaluatorFactory
Factory for member invocation delegates.
Implements
Namespace: System.Linq.Expressions
Assembly: Nuqleon.Linq.Expressions.Optimizers.dll
Syntax
public class DefaultEvaluatorFactory : Object, IEvaluatorFactory
  Constructors
DefaultEvaluatorFactory()
Declaration
public DefaultEvaluatorFactory()
  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
public virtual 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
public virtual 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(Expression, ParameterExpression[])
Get an evaluator delegate using the specified body and parameters to compile an evaluation lambda.
Declaration
public virtual Delegate GetEvaluator(Expression body, params ParameterExpression[] parameters)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Linq.Expressions.Expression | body | The body of the evaluation lambda.  | 
      
| System.Linq.Expressions.ParameterExpression[] | parameters | The parameters of the evaluation lambda.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Delegate | An evaluation delegate.  | 
      
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
public virtual 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(ConstructorInfo)
Gets an evaluator delegate for the specified constructor.
Declaration
public virtual Delegate GetEvaluator(ConstructorInfo constructor)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Reflection.ConstructorInfo | constructor | The constructor to get an evaluator delegate for.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Delegate | An evaluator delegate for the specified   | 
      
GetEvaluator(FieldInfo)
Gets an evaluator delegate for the specified field.
Declaration
public virtual Delegate GetEvaluator(FieldInfo field)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Reflection.FieldInfo | field | The field to get an evaluator delegate for.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Delegate | An evaluator delegate for the specified   | 
      
GetEvaluator(MemberInfo)
Gets an evaluator delegate for the specified member.
Declaration
public virtual 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   | 
      
GetEvaluator(MethodInfo)
Gets an evaluator delegate for the specified method.
Declaration
public virtual Delegate GetEvaluator(MethodInfo method)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Reflection.MethodInfo | method | The method to get an evaluator delegate for.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Delegate | An evaluator delegate for the specified   | 
      
GetEvaluator(PropertyInfo)
Gets an evaluator delegate for the specified property.
Declaration
public virtual Delegate GetEvaluator(PropertyInfo property)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Reflection.PropertyInfo | property | The method to get an evaluator delegate for.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Delegate | An evaluator delegate for the specified   | 
      
GetEvaluator(Type)
Gets an evaluator delegate to create an instance of the specified type.
Declaration
public virtual Delegate GetEvaluator(Type type)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Type | type | The type to get an instantiation evaluator delegate for.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Delegate | An evaluator delegate to create an instance of the specified   |