UnaryExpression クラス

定義

単項演算子を持つ式を表します。Represents an expression that has a unary operator.

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 許容の整数型への参照変換を表すオブジェクトを作成します。The following example creates a UnaryExpression object that represents the reference conversion of a non-nullable integer expression to the nullable integer type.

// 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作成するために使用できるファクトリメソッドをまとめたものです。The following table summarizes the factory methods that can be used to create a UnaryExpression that has a specific node type.

NodeType ファクトリメソッドFactory Method
ArrayLength ArrayLength
Convert Convert
ConvertChecked ConvertChecked
Negate Negate
NegateChecked NegateChecked
Not Not
Quote Quote
TypeAs TypeAs
UnaryPlus UnaryPlus

また、メソッドをMakeUnary使用してをUnaryExpression作成することもできます。In addition, the MakeUnary methods can also be used to create a UnaryExpression. これらのファクトリメソッドを使用して、 UnaryExpression単項演算を表す任意のノード型のを作成できます。These factory methods can be used to create a UnaryExpression of any node type that represents a unary operation. NodeTypeであるこれらのメソッドのパラメーターは、目的のノード型を指定します。The parameter of these methods that is of type NodeType specifies the desired node type.

プロパティ

CanReduce

式ツリー ノードを縮小できるかどうかを示す値を取得します。Gets a value that indicates whether the expression tree node can be reduced.

IsLifted

式ツリー ノードが、演算子へのリフトされた呼び出しを表すかどうかを示す値を取得します。Gets a value that indicates whether the expression tree node represents a lifted call to an operator.

IsLiftedToNull

式ツリー ノードが、戻り値の型が null 許容型にリフトされた演算子への、リフトされた呼び出しを表すかどうかを示す値を取得します。Gets a value that indicates whether the expression tree node represents a lifted call to an operator whose return type is lifted to a nullable type.

Method

単項演算の実装メソッドを取得します。Gets the implementing method for the unary operation.

NodeType

この Expression のノード型を返します。Returns the node type of this Expression.

Operand

単項演算のオペランドを取得します。Gets the operand of the unary operation.

Type

この Expression が表す式の静的な型を取得します。Gets the static type of the expression that this Expression represents.

メソッド

Accept(ExpressionVisitor)

このノード型の特定の Visit メソッドにデスパッチします。Dispatches to the specific visit method for this node type. たとえば、MethodCallExpressionVisitMethodCall(MethodCallExpression) を呼び出します。For example, MethodCallExpression calls the VisitMethodCall(MethodCallExpression).

(継承元 Expression)
Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
Reduce()

式ノードをより単純な式へと変形します。Reduces the expression node to a simpler expression.

ReduceAndCheck()

このノードをより単純な式に変形します。Reduces this node to a simpler expression. CanReduce が true を返す場合、これは有効な式を返します。If CanReduce returns true, this should return a valid expression. このメソッドは、それ自体も単純化する必要がある別のノードを返す場合があります。This method can return another node which itself must be reduced.

(継承元 Expression)
ReduceExtensions()

式を既知のノード型 (拡張ノードではない型) に単純化し、それが既に既知の型である場合は単に式を返します。Reduces the expression to a known node type (that is not an Extension node) or just returns the expression if it is already a known type.

(継承元 Expression)
ToString()

Expression のテキスト表現を返します。Returns a textual representation of the Expression.

(継承元 Expression)
Update(Expression)

この式に似た新しい式を作成しますが、指定された子を使用します。Creates a new expression that is like this one, but using the supplied children. すべての子が同じであれば、この式が返されます。If all of the children are the same, it will return this expression.

VisitChildren(ExpressionVisitor)

ノードを単純化し、単純化された式の visitor デリゲートを呼び出します。Reduces the node and then calls the visitor delegate on the reduced expression. ノードを単純化できない場合、このメソッドは例外をスローします。The method throws an exception if the node is not reducible.

(継承元 Expression)

適用対象