NewExpression 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示一个构造函数调用。
public ref class NewExpression : System::Linq::Expressions::Expression, System::Linq::Expressions::IArgumentProvider
public ref class NewExpression sealed : System::Linq::Expressions::Expression
public ref class NewExpression : System::Linq::Expressions::Expression
public class NewExpression : System.Linq.Expressions.Expression, System.Linq.Expressions.IArgumentProvider
public sealed class NewExpression : System.Linq.Expressions.Expression
public class NewExpression : System.Linq.Expressions.Expression
type NewExpression = class
inherit Expression
interface IArgumentProvider
type NewExpression = class
inherit Expression
Public Class NewExpression
Inherits Expression
Implements IArgumentProvider
Public NotInheritable Class NewExpression
Inherits Expression
Public Class NewExpression
Inherits Expression
- 继承
- 实现
示例
以下示例创建一个 NewExpression ,它表示字典对象的新实例的构造。
// Create a NewExpression that represents constructing
// a new instance of Dictionary<int, string>.
System.Linq.Expressions.NewExpression newDictionaryExpression =
System.Linq.Expressions.Expression.New(typeof(Dictionary<int, string>));
Console.WriteLine(newDictionaryExpression.ToString());
// This code produces the following output:
//
// new Dictionary`2()
' Create a NewExpression that represents constructing
' a new instance of Dictionary(Of Integer, String).
Dim newDictionaryExpression As System.Linq.Expressions.NewExpression = _
System.Linq.Expressions.Expression.[New]( _
Type.GetType("System.Collections.Generic.Dictionary`2[System.Int32, System.String]"))
Console.WriteLine(newDictionaryExpression.ToString())
' This code produces the following output:
'
' new Dictionary`2()
注解
使用 New 工厂方法创建 NewExpression。
对象的 New属性的NewExpression值为 NodeType 。
属性
Arguments |
获取构造函数的参数。 |
CanReduce |
指示可将节点简化为更简单的节点。 如果返回 true,则可以调用 Reduce() 以生成简化形式。 (继承自 Expression) |
Constructor |
获取被调用的构造函数。 |
Members |
获取可检索用构造函数参数初始化的字段值的成员。 |
NodeType |
返回此 Expression 的节点类型。 |
NodeType |
获取此 Expression 的节点类型。 (继承自 Expression) |
Type |
获取此 Expression 表示的表达式的静态类型。 |
Type |
获取此 Expression 表示的表达式的静态类型。 (继承自 Expression) |
方法
Accept(ExpressionVisitor) |
调度到此节点类型的特定 Visit 方法。 例如,MethodCallExpression 调用 VisitMethodCall(MethodCallExpression)。 |
Accept(ExpressionVisitor) |
调度到此节点类型的特定 Visit 方法。 例如,MethodCallExpression 调用 VisitMethodCall(MethodCallExpression)。 (继承自 Expression) |
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
Reduce() |
将此节点简化为更简单的表达式。 如果 CanReduce 返回 true,则它应返回有效的表达式。 此方法可以返回本身必须简化的另一个节点。 (继承自 Expression) |
ReduceAndCheck() |
将此节点简化为更简单的表达式。 如果 CanReduce 返回 true,则它应返回有效的表达式。 此方法可以返回本身必须简化的另一个节点。 (继承自 Expression) |
ReduceExtensions() |
将表达式简化为已知节点类型(即非 Extension 节点)或仅在此类型为已知类型时返回表达式。 (继承自 Expression) |
ToString() |
返回 Expression 的的文本化表示形式。 (继承自 Expression) |
Update(IEnumerable<Expression>) |
创建一个新的表达式,它类似于此表达式,但使用所提供的子级。 如果所有子级均相同,它将返回此表达式。 |
VisitChildren(ExpressionVisitor) |
简化节点,然后对简化的表达式调用访问者委托。 该方法在节点不可简化时引发异常。 (继承自 Expression) |
显式接口实现
IArgumentProvider.ArgumentCount |
获取表达式树节点的参数数目。 |
IArgumentProvider.GetArgument(Int32) |
索引时返回参数,当索引超出界限时引发。 |