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

次の例では、null 非許容整数式から null 許容整数型への参照変換を表す UnaryExpression オブジェクトを作成します。

// 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 Factory Method(ファクトリー メソッド)
ArrayLength ArrayLength
Convert Convert
ConvertChecked ConvertChecked
Negate Negate
NegateChecked NegateChecked
Not Not
Quote Quote
TypeAs TypeAs
UnaryPlus UnaryPlus

さらに、 MakeUnary メソッドを使用して UnaryExpressionを作成することもできます。 これらのファクトリ メソッドを使用して、単項演算を表す任意のノード型の UnaryExpression を作成できます。 NodeType型のこれらのメソッドのパラメーターは、目的のノードの種類を指定します。

プロパティ

名前 説明
CanReduce

式ツリー ノードを減らすことができるかどうかを示す値を取得します。

IsLifted

式ツリー ノードが演算子へのリフトされた呼び出しを表すかどうかを示す値を取得します。

IsLiftedToNull

式ツリー ノードが、戻り値の型が null 許容型にリフトされた演算子へのリフトされた呼び出しを表すかどうかを示す値を取得します。

Method

単項演算の実装メソッドを取得します。

NodeType

この Expressionのノードの種類を返します。

NodeType

この Expressionのノードの種類を取得します。

(継承元 Expression)
Operand

単項演算のオペランドを取得します。

Type

この Expression が表す式の静的な型を取得します。

Type

この Expression が表す式の静的な型を取得します。

(継承元 Expression)

メソッド

名前 説明
Accept(ExpressionVisitor)

このノード タイプの特定の visit メソッドにディスパッチします。 たとえば、 MethodCallExpressionVisitMethodCall(MethodCallExpression)を呼び出します。

(継承元 Expression)
Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
Reduce()

式ノードを単純な式に減らします。

ReduceAndCheck()

このノードを単純な式に減らします。 CanReduce が true を返す場合は、有効な式を返す必要があります。 このメソッドは、それ自体を減らす必要がある別のノードを返すことができます。

(継承元 Expression)
ReduceExtensions()

式を既知のノード型 (拡張ノードではない) に減らすか、既に既知の型である場合は式を返します。

(継承元 Expression)
ToString()

Expressionのテキスト表現を返します。

(継承元 Expression)
Update(Expression)

次のような新しい式を作成しますが、指定された子を使用します。 すべての子が同じ場合、この式が返されます。

VisitChildren(ExpressionVisitor)

ノードを減らし、縮小された式でビジター デリゲートを呼び出します。 ノードが縮小できない場合、メソッドは例外をスローします。

(継承元 Expression)

適用対象