UnaryExpression 类

定义

表示具有一元运算符的表达式。

public ref class UnaryExpression sealed : System::Linq::Expressions::Expression
public sealed class UnaryExpression : System.Linq.Expressions.Expression
type UnaryExpression = class
    inherit Expression
Public NotInheritable Class UnaryExpression
Inherits Expression
继承
UnaryExpression

示例

以下示例创建一个 UnaryExpression 对象,该对象表示不可为 null 的整数表达式到可为 null 整数类型的引用转换。

// Create a UnaryExpression that represents a
// conversion of an int to an int?.
System.Linq.Expressions.UnaryExpression typeAsExpression =
    System.Linq.Expressions.Expression.TypeAs(
        System.Linq.Expressions.Expression.Constant(34, typeof(int)),
        typeof(int?));

Console.WriteLine(typeAsExpression.ToString());

// This code produces the following output:
//
// (34 As Nullable`1)
' Create a UnaryExpression that represents a reference
' conversion of an Integer to an Integer? (a nullable Integer).
Dim typeAsExpression As System.Linq.Expressions.UnaryExpression = _
    System.Linq.Expressions.Expression.TypeAs( _
        System.Linq.Expressions.Expression.Constant(34, Type.GetType("System.Int32")), _
        Type.GetType("System.Nullable`1[System.Int32]"))

Console.WriteLine(typeAsExpression.ToString())

' This code produces the following output:
'
' (34 As Nullable`1)

注解

下表总结了可用于创建 UnaryExpression 具有特定节点类型的 的 工厂方法。

NodeType 工厂方法
ArrayLength ArrayLength
Convert Convert
ConvertChecked ConvertChecked
Negate Negate
NegateChecked NegateChecked
Not Not
Quote Quote
TypeAs TypeAs
UnaryPlus UnaryPlus

此外, MakeUnary 方法还可用于创建 UnaryExpression。 这些工厂方法可用于创建表示一 UnaryExpression 元运算的任何节点类型的 。 属于 类型的 NodeType 这些方法的参数指定所需的节点类型。

属性

CanReduce

获取一个值,该值指示是否可以减小此表达式树节点。

CanReduce

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

(继承自 Expression)
IsLifted

获取一个值,该值指示表达式目录树节点是否表示对运算符的提升调用。

IsLiftedToNull

获取一个值,该值指示表达式目录树节点是否表示对运算符(其返回类型提升为可以为 null 的类型)的提升调用。

Method

获取一元运算的实现方法。

NodeType

返回此 Expression 的节点类型。

NodeType

获取此 Expression 的节点类型。

(继承自 Expression)
Operand

获取一元运算的操作数。

Type

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

Type

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

(继承自 Expression)

方法

Accept(ExpressionVisitor)

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

(继承自 Expression)
Equals(Object)

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

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
Reduce()

将表达式节点简化为更简单的表达式。

Reduce()

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

(继承自 Expression)
ReduceAndCheck()

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

(继承自 Expression)
ReduceExtensions()

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

(继承自 Expression)
ToString()

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

(继承自 Expression)
Update(Expression)

创建一个新的表达式,它类似于此表达式,但使用所提供的子级。 如果所有子级均相同,它将返回此表达式。

VisitChildren(ExpressionVisitor)

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

(继承自 Expression)

适用于