DynamicExpression 类

定义

表示一个动态操作。

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
继承
DynamicExpression
实现

属性

Arguments

获取动态操作的参数。

Binder

获取 CallSiteBinder,它确定动态站点的运行时行为。

CanReduce

指示可将节点简化为更简单的节点。 如果返回 true,则可以调用 Reduce() 以生成简化形式。

(继承自 Expression)
DelegateType

获取 CallSite 使用的委托的类型。

NodeType

返回此表达式的节点类型。 重写此方法时,扩展节点应返回 Extension

Type

获取此 Expression 表示的表达式的静态类型。

方法

Accept(ExpressionVisitor)

调度到此节点类型的特定 Visit 方法。 例如,MethodCallExpression 调用 VisitMethodCall(MethodCallExpression)

Dynamic(CallSiteBinder, Type, Expression)

创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。

Dynamic(CallSiteBinder, Type, Expression, Expression)

创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。

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

创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。

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

创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。

Dynamic(CallSiteBinder, Type, Expression[])

创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。

Dynamic(CallSiteBinder, Type, IEnumerable<Expression>)

创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MakeDynamic(Type, CallSiteBinder, Expression)

创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 和一个参数绑定的动态操作。

MakeDynamic(Type, CallSiteBinder, Expression, Expression)

创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 和两个自变量绑定的动态操作。

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

创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 和三个参数绑定的动态操作。

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

创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 和四个参数绑定的动态操作。

MakeDynamic(Type, CallSiteBinder, Expression[])

创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。

MakeDynamic(Type, CallSiteBinder, IEnumerable<Expression>)

创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
Reduce()

将此节点简化为更简单的表达式。 如果 CanReduce 返回 true,则它应返回有效的表达式。 此方法可以返回本身必须简化的另一个节点。

(继承自 Expression)
ReduceAndCheck()

将此节点简化为更简单的表达式。 如果 CanReduce 返回 true,则它应返回有效的表达式。 此方法可以返回本身必须简化的另一个节点。

(继承自 Expression)
ReduceExtensions()

将表达式简化为已知节点类型(即非 Extension 节点)或仅在此类型为已知类型时返回表达式。

(继承自 Expression)
ToString()

返回 Expression 的的文本化表示形式。

(继承自 Expression)
Update(IEnumerable<Expression>)

将发送到参数 arguments 的值和发送到 DynamicExpression 当前实例的 Arguments 属性的值进行比较。 如果参数和属性的值相等,则返回当前实例。 如果它们不相等,则返回新的 DynamicExpression 实例,该实例与当前实例相同,只是 Arguments 属性设置为参数 arguments 的值。

VisitChildren(ExpressionVisitor)

简化节点,然后对简化的表达式调用访问者委托。 该方法在节点不可简化时引发异常。

(继承自 Expression)

显式接口实现

IArgumentProvider.ArgumentCount

返回表达式树节点的参数数目。 不应使用此成员。 由于程序集重构,只能为公共的;并且在内部用于性能优化。

IArgumentProvider.GetArgument(Int32)

索引时返回参数,当索引超出界限时引发。 不应使用此成员。 由于程序集重构,只能为公共的;并且在内部用于性能优化。

IDynamicExpression.CreateCallSite()

根据需要创建 CallSite 并返回 DynamicExpression 的多态内联缓存的 CallSite。 不应使用此成员。 由于程序集重构,只能为公共的;并且在内部用于性能优化。

IDynamicExpression.Rewrite(Expression[])

重写此节点,该节点可将动态表达式的自变量替换为提供的值。 args 的数目需要与当前表达式的数目匹配。 不应使用此类型。 由于程序集重构,只能为公共的;并且在内部用于性能优化。 此辅助方法允许重新编写要独立于特定实现类的节点,该实现类是从调用站点正在使用的 DynamicExpression 派生的。

适用于