UnaryExpression 类 
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示具有一元运算符的表达式。
public ref class UnaryExpression sealed : System::Linq::Expressions::Expressionpublic sealed class UnaryExpression : System.Linq.Expressions.Expressiontype UnaryExpression = class
    inherit ExpressionPublic NotInheritable Class UnaryExpression
Inherits Expression- 继承
示例
以下示例创建一个 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) |