Freigeben über


System.Linq.Expressions Namespace

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 static-Factorymethoden (Shared in Visual Basic), um die verschiedenen Knotentypen zu erstellen. Dies ist eine abstract-Klasse.

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.

Weitere Informationen