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)

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

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

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

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

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

Dynamic(CallSiteBinder, Type, Expression, Expression)

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

Dynamic(CallSiteBinder, Type, 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, Expression, Expression, Expression)

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

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

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

MakeDynamic(Type, CallSiteBinder, Expression, Expression)

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

MakeDynamic(Type, CallSiteBinder, 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()

将表达式减少为已知节点类型(不是扩展节点),或者仅返回表达式(如果它已是已知类型)。

(继承自 Expression)
ToString()

返回文本 Expression表示形式。

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

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

VisitChildren(ExpressionVisitor)

减少节点,然后在减少的表达式上调用访问者委托。 如果节点不可减少,该方法将引发异常。

(继承自 Expression)

显式接口实现

名称 说明
IArgumentProvider.ArgumentCount

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

IArgumentProvider.GetArgument(Int32)

返回索引处的参数,如果索引超出边界,则引发。 不应使用此成员。 它只是由于程序集重构而公开的,并且它在内部用于性能优化。

IDynamicExpression.CreateCallSite()

(可选)创建 CallSite 并返回 DynamicExpression 的多态内联缓存的 CallSite。 不应使用此成员。 它只是由于程序集重构而公开的,并且它在内部用于性能优化。

IDynamicExpression.Rewrite(Expression[])

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

适用于