Jazyk

UnaryExpression Třída

Definice

Představuje výraz, který má unární operátor.

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
Dědičnost
UnaryExpression

Příklady

Následující příklad vytvoří UnaryExpression objekt, který představuje odkaz převod nenulovatelné celočíselného výrazu na celočíselný typ s možnou hodnotou 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)

Poznámky

Následující tabulka shrnuje metody továrny, které lze použít k vytvoření UnaryExpression konkrétního typu uzlu.

NodeType Metoda továrny
ArrayLength ArrayLength
Convert Convert
ConvertChecked ConvertChecked
Negate Negate
NegateChecked NegateChecked
Not Not
Quote Quote
TypeAs TypeAs
UnaryPlus UnaryPlus

Kromě toho lze metody MakeUnary použít také k vytvoření UnaryExpression. Tyto metody továrny lze použít k vytvoření UnaryExpression libovolného typu uzlu, který představuje unární operaci. Parametr těchto metod, který je typu NodeType , určuje požadovaný typ uzlu.

Vlastnosti

Name Description
CanReduce

Získá hodnotu, která označuje, zda je možné snížit uzel stromu výrazu.

IsLifted

Získá hodnotu, která označuje, zda uzel stromu výrazu představuje zvedané volání operátoru.

IsLiftedToNull

Získá hodnotu, která označuje, zda stromový uzel výrazu představuje lifted volání operátor, jehož návratový typ je zvednut do typu nullable.

Method

Získá implementční metodu pro unární operaci.

NodeType

Vrátí typ uzlu tohoto Expression.

NodeType

Získá typ uzlu tohoto Expression.

(Zděděno od Expression)
Operand

Získá operand unární operace.

Type

Získá statický typ výrazu, který představuje Expression .

Type

Získá statický typ výrazu, který představuje Expression .

(Zděděno od Expression)

Metody

Name Description
Accept(ExpressionVisitor)

Odešle konkrétní metodu návštěvy pro tento typ uzlu. MethodCallExpression Například volá .VisitMethodCall(MethodCallExpression)

(Zděděno od Expression)
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
Reduce()

Zmenší uzel výrazu na jednodušší výraz.

ReduceAndCheck()

Zmenší tento uzel na jednodušší výraz. Pokud CanReduce vrátí hodnotu true, měl by vrátit platný výraz. Tato metoda může vrátit jiný uzel, který se musí snížit.

(Zděděno od Expression)
ReduceExtensions()

Zmenšuje výraz na známý typ uzlu (který není uzel rozšíření), nebo pouze vrátí výraz, pokud je již známým typem.

(Zděděno od Expression)
ToString()

Vrátí textovou reprezentaci Expression.

(Zděděno od Expression)
Update(Expression)

Vytvoří nový výraz, který je podobný tomuto, ale použije zadané podřízené položky. Pokud jsou všechny podřízené položky stejné, vrátí tento výraz.

VisitChildren(ExpressionVisitor)

Zmenší uzel a potom zavolá delegáta návštěvníka na zkrácený výraz. Metoda vyvolá výjimku, pokud uzel není reducible.

(Zděděno od Expression)

Platí pro