UnaryExpression Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt einen Ausdruck dar, der über einen unären Operator verfügt.
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
- Vererbung
Beispiele
Im folgenden Beispiel wird ein UnaryExpression Objekt erstellt, das die Verweiskonvertierung eines nicht nullablen ganzzahligen Ausdrucks in den Nullwert-Ganzzahltyp darstellt.
// 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)
Hinweise
In der folgenden Tabelle sind die Factorymethoden zusammengefasst, die zum Erstellen eines UnaryExpression bestimmten Knotentyps verwendet werden können.
| NodeType | Factorymethode |
|---|---|
| ArrayLength | ArrayLength |
| Convert | Convert |
| ConvertChecked | ConvertChecked |
| Negate | Negate |
| NegateChecked | NegateChecked |
| Not | Not |
| Quote | Quote |
| TypeAs | TypeAs |
| UnaryPlus | UnaryPlus |
Darüber hinaus können die MakeUnary-Methoden auch dazu verwendet werden, eine UnaryExpression zu erstellen. Diese Factorymethoden können verwendet werden, um einen UnaryExpression beliebigen Knotentyp zu erstellen, der einen unären Vorgang darstellt. Der Parameter dieser Methoden, der vom Typ NodeType ist, gibt den gewünschten Knotentyp an.
Eigenschaften
| Name | Beschreibung |
|---|---|
| CanReduce |
Ruft einen Wert ab, der angibt, ob der Ausdrucksstrukturknoten reduziert werden kann. |
| IsLifted |
Ruft einen Wert ab, der angibt, ob der Knoten der Ausdrucksstruktur einen angehobenen Aufruf eines Operators darstellt. |
| IsLiftedToNull |
Ruft einen Wert ab, der angibt, ob der Knoten der Ausdrucksstruktur einen angehobenen Aufruf an einen Operator darstellt, dessen Rückgabetyp auf einen nullfähigen Typ aufgehoben wird. |
| Method |
Ruft die Implementierungsmethode für den unären Vorgang ab. |
| NodeType |
Gibt den Knotentyp dieses Typs Expressionzurück. |
| NodeType |
Ruft den Knotentyp dieses Expression. (Geerbt von Expression) |
| Operand |
Ruft den Operanden des unären Vorgangs ab. |
| Type |
Ruft den statischen Typ des Ausdrucks ab, der dies Expression darstellt. |
| Type |
Ruft den statischen Typ des Ausdrucks ab, der dies Expression darstellt. (Geerbt von Expression) |
Methoden
| Name | Beschreibung |
|---|---|
| Accept(ExpressionVisitor) |
Verteilt an die spezifische Besuchsmethode für diesen Knotentyp. Ruft z. B. MethodCallExpression die VisitMethodCall(MethodCallExpression). (Geerbt von Expression) |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| Reduce() |
Reduziert den Ausdrucksknoten auf einen einfacheren Ausdruck. |
| ReduceAndCheck() |
Reduziert diesen Knoten auf einen einfacheren Ausdruck. Wenn CanReduce "true" zurückgibt, sollte dieser einen gültigen Ausdruck zurückgeben. Diese Methode kann einen anderen Knoten zurückgeben, der selbst reduziert werden muss. (Geerbt von Expression) |
| ReduceExtensions() |
Reduziert den Ausdruck auf einen bekannten Knotentyp (der kein Erweiterungsknoten ist) oder gibt nur den Ausdruck zurück, wenn er bereits ein bekannter Typ ist. (Geerbt von Expression) |
| ToString() |
Gibt eine Textdarstellung der Expression. (Geerbt von Expression) |
| Update(Expression) |
Erstellt einen neuen Ausdruck, der wie dieser ist, aber die bereitgestellten untergeordneten Elemente verwenden. Wenn alle untergeordneten Elemente gleich sind, wird dieser Ausdruck zurückgegeben. |
| VisitChildren(ExpressionVisitor) |
Reduziert den Knoten und ruft dann den Besucherdelegat für den reduzierten Ausdruck auf. Die Methode löst eine Ausnahme aus, wenn der Knoten nicht reducierbar ist. (Geerbt von Expression) |