Edit

Share via


DynamicExpression Class

Definition

Represents a dynamic operation.

public ref class DynamicExpression : System::Linq::Expressions::Expression, System::Linq::Expressions::IDynamicExpression
public ref class DynamicExpression : System::Linq::Expressions::Expression
public class DynamicExpression : System.Linq.Expressions.Expression, System.Linq.Expressions.IDynamicExpression
public class DynamicExpression : System.Linq.Expressions.Expression
type DynamicExpression = class
    inherit Expression
    interface IArgumentProvider
    interface IDynamicExpression
type DynamicExpression = class
    inherit Expression
type DynamicExpression = class
    inherit Expression
    interface IDynamicExpression
    interface IArgumentProvider
Public Class DynamicExpression
Inherits Expression
Implements IDynamicExpression
Public Class DynamicExpression
Inherits Expression
Inheritance
DynamicExpression
Implements

Properties

Arguments

Gets the arguments to the dynamic operation.

Binder

Gets the CallSiteBinder, which determines the run-time behavior of the dynamic site.

CanReduce

Indicates that the node can be reduced to a simpler node. If this returns true, Reduce() can be called to produce the reduced form.

(Inherited from Expression)
DelegateType

Gets the type of the delegate used by the CallSite.

NodeType

Returns the node type of this expression. Extension nodes should return Extension when overriding this method.

Type

Gets the static type of the expression that this Expression represents.

Methods

Accept(ExpressionVisitor)

Dispatches to the specific visit method for this node type. For example, MethodCallExpression calls the VisitMethodCall(MethodCallExpression).

Dynamic(CallSiteBinder, Type, Expression)

Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

Dynamic(CallSiteBinder, Type, Expression, Expression)

Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

Dynamic(CallSiteBinder, Type, Expression, Expression, Expression)

Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

Dynamic(CallSiteBinder, Type, Expression, Expression, Expression, Expression)

Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

Dynamic(CallSiteBinder, Type, Expression[])

Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

Dynamic(CallSiteBinder, Type, IEnumerable<Expression>)

Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
MakeDynamic(Type, CallSiteBinder, Expression)

Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder and one argument.

MakeDynamic(Type, CallSiteBinder, Expression, Expression)

Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder and two arguments.

MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression)

Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder and three arguments.

MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression, Expression)

Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder and four arguments.

MakeDynamic(Type, CallSiteBinder, Expression[])

Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

MakeDynamic(Type, CallSiteBinder, IEnumerable<Expression>)

Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
Reduce()

Reduces this node to a simpler expression. If CanReduce returns true, this should return a valid expression. This method can return another node which itself must be reduced.

(Inherited from Expression)
ReduceAndCheck()

Reduces this node to a simpler expression. If CanReduce returns true, this should return a valid expression. This method can return another node which itself must be reduced.

(Inherited from Expression)
ReduceExtensions()

Reduces the expression to a known node type (that is not an Extension node) or just returns the expression if it is already a known type.

(Inherited from Expression)
ToString()

Returns a textual representation of the Expression.

(Inherited from Expression)
Update(IEnumerable<Expression>)

Compares the value sent to the parameter, arguments, to the Arguments property of the current instance of DynamicExpression. If the values of the parameter and the property are equal, the current instance is returned. If they are not equal, a new DynamicExpression instance is returned that is identical to the current instance except that the Arguments property is set to the value of parameter arguments.

VisitChildren(ExpressionVisitor)

Reduces the node and then calls the visitor delegate on the reduced expression. The method throws an exception if the node is not reducible.

(Inherited from Expression)

Explicit Interface Implementations

IArgumentProvider.ArgumentCount

Returns the number of arguments to the expression tree node. You should not use this member. It is only public due to assembly refactoring, and it is used internally for performance optimizations.

IArgumentProvider.GetArgument(Int32)

Returns the argument at index, throwing if index is out of bounds. You should not use this member. It is only public due to assembly refactoring, and it is used internally for performance optimizations.

IDynamicExpression.CreateCallSite()

Optionally creates the CallSite and returns the CallSite for the DynamicExpression's polymorphic inline cache. You should not use this member. It is only public due to assembly refactoring, and it is used internally for performance optimizations.

IDynamicExpression.Rewrite(Expression[])

Rewrite this node replacing the dynamic expression's arguments with the provided values. The number of args needs to match the number of the current expression. You should not use this type. It is only public due to assembly refactoring, and it is used internally for performance optimizations. This helper method allows re-writing of nodes to be independent of the specific implementation class deriving from DynamicExpression that is being used at the call site.

Applies to