System.Linq.Expressions Namespace
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.
Dieser Namespace enthält Klassen, Schnittstellen und Enumerationen, mit denen Codeausdrücke auf Sprachebene als Objekte in Form von Ausdrucksstrukturen dargestellt werden können.
Klassen
BinaryExpression |
Stellt einen Ausdruck mit einem binären Operator dar. |
BlockExpression |
Stellt einen Block mit einer Sequenz von Ausdrücken dar, für die Variablen definiert werden können. |
CatchBlock |
Stellt eine catch-Anweisung in einem try-Block dar. |
ConditionalExpression |
Stellt einen Ausdruck mit einem bedingten Operator dar. |
ConstantExpression |
Stellt einen Ausdruck mit einem konstanten Wert dar. |
DebugInfoExpression |
Dient zum Ausgeben oder Löschen eines Sequenzpunkts für Debuginformationen. Dadurch kann der Debugger beim Debuggen den korrekten Quellcode hervorheben. |
DefaultExpression |
Stellt den Standardwert eines Typs oder eines leeren Ausdrucks dar. |
DynamicExpression |
Stellt einen dynamischen Vorgang dar. |
DynamicExpressionVisitor |
Stellt einen Besucher oder Bearbeiter für dynamische Ausdrucksbaumstrukturen dar. |
ElementInit |
Stellt einen Initialisierer für ein einzelnes Element einer IEnumerable-Auflistung dar. |
Expression |
Stellt die Basisklasse bereit, aus der die Klassen abgeleitet werden, die die Knoten in der Ausdrucksbaumstruktur darstellen. Sie enthält auch |
Expression<TDelegate> |
Stellt einen stark typisierten lambda-Ausdruck als Datenstruktur in Form einer Ausdrucksbaumstruktur dar. Diese Klasse kann nicht vererbt werden. |
ExpressionVisitor |
Stellt einen Besucher oder Bearbeiter für Ausdrucksbaumstrukturen dar. |
GotoExpression |
Stellt einen bedingungslosen Sprung dar. Hierzu zählen return-Anweisungen, break- und continue-Anweisungen sowie andere Sprünge. |
IndexExpression |
Stellt die Indizierung einer Eigenschaft oder eines Arrays dar. |
InvocationExpression |
Stellt einen Ausdruck dar, der einen Delegaten oder einen Lambdaausdruck auf eine Liste mit Argumentausdrücken anwendet. |
LabelExpression |
Stellt eine Bezeichnung dar, die in einen beliebigen Expression-Kontext platziert werden kann. Bei einem Sprung in die Bezeichnung wird der durch die entsprechende GotoExpression angegebene Wert abgerufen. Andernfalls wird der Wert in DefaultValue empfangen. Wenn der Type gleich System.Void ist, darf kein Wert angegeben werden. |
LabelTarget |
Stellt das Ziel einer GotoExpression dar. |
LambdaExpression |
Beschreibt einen Lambdaausdruck. Dadurch wird ein mit einem .NET-Methodentext vergleichbarer Codeblock erfasst. |
ListInitExpression |
Stellt einen Konstruktoraufruf mit einem Auflistungsinitialisierer dar. |
LoopExpression |
Stellt eine Endlosschleife dar. Kann mithilfe von „break“ beendet werden. |
MemberAssignment |
Stellt den Zuweisungsvorgang für ein Feld oder eine Eigenschaft eines Objekts dar. |
MemberBinding |
Stellt die Basisklasse bereit, von der die Klassen abgeleitet werden, die Bindungen darstellen, welche zum Initialisieren von Membern eines neu erstellten Objekts verwendet werden. |
MemberExpression |
Stellt den Zugriff auf ein Feld oder auf eine Eigenschaft dar. |
MemberInitExpression |
Stellt den Aufruf eines Konstruktors und die Initialisierung mindestens eines Members des neuen Objekts dar. |
MemberListBinding |
Stellt die Initialisierung der Elemente eines Auflistungsmembers eines neu erstellten Objekts dar. |
MemberMemberBinding |
Stellt die Initialisierung der Member eines Members eines neu erstellten Objekts dar. |
MethodCallExpression |
Stellt einen Aufruf für eine statische Methode oder für eine Instanzmethode dar. |
NewArrayExpression |
Stellt die Erstellung eines neuen Arrays und ggf. die Initialisierung der Elemente des neuen Arrays dar. |
NewExpression |
Stellt einen Konstruktoraufruf dar. |
ParameterExpression |
Stellt einen benannten Parameterausdruck dar. |
RuntimeVariablesExpression |
Ein Ausdruck, der die Laufzeitberechtigung für Lese-/Schreibzugriff für Variablen bereitstellt. |
SwitchCase |
Stellt einen Fall einer SwitchExpression dar. |
SwitchExpression |
Stellt einen Steuerausdruck dar, der die Mehrfachauswahl durch das Übergeben der Steuerung an SwitchCase behandelt. |
SymbolDocumentInfo |
Speichert die Informationen, die für die Ausgabe von Debuggingsymbolinformationen für eine Quelldatei erforderlich sind. Hierzu zählen insbesondere der Dateiname und die eindeutige Sprachen-ID. |
TryExpression |
Stellt einen try-/catch-/finally-/fault-Block dar. |
TypeBinaryExpression |
Stellt einen Vorgang zwischen einem Ausdruck und einem Typ dar. |
UnaryExpression |
Stellt einen Ausdruck mit einem unären Operator dar. |
Schnittstellen
IArgumentProvider |
Stellt eine interne Schnittstelle für den Zugriff auf die Argumente von mehreren Strukturknoten (DynamicExpression, ElementInit, MethodCallExpression, InvocationExpression, NewExpression und IndexExpression) bereit. Diese API ist ausschließlich für die interne Verwendung vorgesehen. |
IDynamicExpression |
Stellt eine interne Schnittstelle für den Zugriff auf die Argumente von DynamicExpression-Strukturknoten sowie CallSite- und Rewriting-Funktionalität bereit. Sie sollten diese API nicht verwenden. Sie ist nur aufgrund von DLL-Refactoring öffentlich und nur für interne Leistungsoptimierungen vorhanden. |
Enumerationen
ExpressionType |
Beschreibt die Knotentypen für die Knoten einer Ausdrucksbaumstruktur. |
GotoExpressionKind |
Gibt an, welche Art von Sprung diese GotoExpression darstellt. |
MemberBindingType |
Beschreibt die Bindungstypen, die in MemberInitExpression-Objekten verwendet werden. |
Hinweise
Die abstrakte Klasse Expression stellt den Stamm einer Klassenhierarchie bereit, die zum Modellieren von Ausdrucksstrukturen verwendet wird.
Die Klassen in diesem Namespace, die von Expressionabgeleitet werden, z. B MemberExpression . und ParameterExpression, werden verwendet, um Knoten in einer Ausdrucksstruktur darzustellen. Die Expression -Klasse enthält static
(Shared
in Visual Basic) Factorymethoden zum Erstellen von Ausdrucksbaumknoten der verschiedenen Typen.
Der Enumerationstyp ExpressionType gibt die eindeutigen Knotentypen an.