UnaryExpression Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar ett uttryck som har en 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
- Arv
Exempel
I följande exempel skapas ett UnaryExpression objekt som representerar referenskonverteringen av ett heltalsuttryck som inte går att nolla till heltalstypen 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)
Kommentarer
I följande tabell sammanfattas de fabriksmetoder som kan användas för att skapa en UnaryExpression som har en specifik nodtyp.
| NodeType | Fabriceringsmetod |
|---|---|
| ArrayLength | ArrayLength |
| Convert | Convert |
| ConvertChecked | ConvertChecked |
| Negate | Negate |
| NegateChecked | NegateChecked |
| Not | Not |
| Quote | Quote |
| TypeAs | TypeAs |
| UnaryPlus | UnaryPlus |
Dessutom kan metoderna MakeUnary också användas för att skapa en UnaryExpression. Dessa fabriksmetoder kan användas för att skapa en UnaryExpression nodtyp som representerar en unary-åtgärd. Parametern för dessa metoder som är av typen NodeType anger önskad nodtyp.
Egenskaper
| Name | Description |
|---|---|
| CanReduce |
Hämtar ett värde som anger om uttrycksträdnoden kan minskas. |
| IsLifted |
Hämtar ett värde som anger om uttrycksträdnoden representerar ett lyft anrop till en operator. |
| IsLiftedToNull |
Hämtar ett värde som anger om uttrycksträdnoden representerar ett lyft anrop till en operator vars returtyp lyfts till en nullbar typ. |
| Method |
Hämtar implementeringsmetoden för unary-åtgärden. |
| NodeType |
Returnerar nodtypen för den här Expression. |
| NodeType |
Hämtar nodtypen för den här Expression. (Ärvd från Expression) |
| Operand |
Hämtar operand av unary operation. |
| Type |
Hämtar den statiska typen av uttryck som detta Expression representerar. |
| Type |
Hämtar den statiska typen av uttryck som detta Expression representerar. (Ärvd från Expression) |
Metoder
| Name | Description |
|---|---|
| Accept(ExpressionVisitor) |
Skickar till den specifika besöksmetoden för den här nodtypen. Anropar MethodCallExpressionVisitMethodCall(MethodCallExpression)till exempel . (Ärvd från Expression) |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| Reduce() |
Minskar uttrycksnoden till ett enklare uttryck. |
| ReduceAndCheck() |
Reducerar den här noden till ett enklare uttryck. Om CanReduce returnerar true bör detta returnera ett giltigt uttryck. Den här metoden kan returnera en annan nod som måste minskas. (Ärvd från Expression) |
| ReduceExtensions() |
Minskar uttrycket till en känd nodtyp (som inte är en tilläggsnod) eller returnerar bara uttrycket om det redan är en känd typ. (Ärvd från Expression) |
| ToString() |
Returnerar en textrepresentation av Expression. (Ärvd från Expression) |
| Update(Expression) |
Skapar ett nytt uttryck som liknar det här, men som använder de angivna underordnade uttrycken. Om alla underordnade är likadana returneras det här uttrycket. |
| VisitChildren(ExpressionVisitor) |
Minskar noden och anropar sedan besökarens ombud för det reducerade uttrycket. Metoden genererar ett undantag om noden inte är redukterbar. (Ärvd från Expression) |