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 Factory メソッド
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 メソッドにデスパッチします。 たとえば、MethodCallExpressionVisitMethodCall(MethodCallExpression) を呼び出します。

(継承元 Expression)
Equals(Object)

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

(継承元 Object)
GetHashCode()

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

(継承元 Object)
GetType()

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

(継承元 Object)
MemberwiseClone()

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

(継承元 Object)
Reduce()

式ノードをより単純な式へと変形します。

Reduce()

このノードをより単純な式に変形します。 CanReduce が true を返す場合、これは有効な式を返します。 このメソッドは、それ自体も単純化する必要がある別のノードを返す場合があります。

(継承元 Expression)
ReduceAndCheck()

このノードをより単純な式に変形します。 CanReduce が true を返す場合、これは有効な式を返します。 このメソッドは、それ自体も単純化する必要がある別のノードを返す場合があります。

(継承元 Expression)
ReduceExtensions()

式を既知のノード型 (拡張ノードではない型) に単純化し、それが既に既知の型である場合は単に式を返します。

(継承元 Expression)
ToString()

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

(継承元 Expression)
Update(Expression)

これに似た式ですが、指定された子を使用する、新しい式を作成します。 すべての子が同じである場合、この式を返します。

VisitChildren(ExpressionVisitor)

ノードを単純化し、単純化された式の visitor デリゲートを呼び出します。 ノードを単純化できない場合、このメソッドは例外をスローします。

(継承元 Expression)

適用対象