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 |