System.Linq.Expressions Namespace

Enthält Klassen, Schnittstellen und Enumerationen, mit denen Codeausdrücke auf Sprachebene als Objekte in Form von Ausdrucksstrukturen dargestellt werden können.

Klassen

Name Beschreibung
BinaryExpression

Stellt einen Ausdruck dar, der über einen binären Operator verfügt.

BlockExpression

Stellt einen Block dar, der eine Abfolge von Ausdrücken enthält, in denen Variablen definiert werden können.

CatchBlock

Stellt eine Catch-Anweisung in einem Try-Block dar.

ConditionalExpression

Stellt einen Ausdruck dar, der über einen bedingten Operator verfügt.

ConstantExpression

Stellt einen Ausdruck dar, der einen konstanten Wert aufweist.

DebugInfoExpression

Gibt einen Sequenzpunkt für Debuginformationen aus oder löscht diesen. Auf diese Weise kann der Debugger beim Debuggen den richtigen Quellcode hervorheben.

DefaultExpression

Stellt den Standardwert eines Typs oder eines leeren Ausdrucks dar.

DynamicExpression

Stellt einen dynamischen Vorgang dar.

DynamicExpressionVisitor

Stellt einen Besucher oder eine Neuschreibmaschine für dynamische Ausdrucksstrukturen dar.

ElementInit

Stellt einen Initialisierer für ein einzelnes Element einer IEnumerable Auflistung dar.

Expression

Stellt die Basisklasse bereit, von der die Klassen, die Ausdrucksstrukturknoten darstellen, abgeleitet werden. Sie enthält static außerdem (Shared in Visual Basic) Factorymethoden, um die verschiedenen Knotentypen zu erstellen. Dies ist eine abstract Klasse.

Expression<TDelegate>

Stellt einen stark typierten Lambda-Ausdruck als Datenstruktur in Form einer Ausdrucksstruktur dar. Diese Klasse kann nicht vererbt werden.

ExpressionVisitor

Stellt einen Besucher oder eine Neuautorin für Ausdrucksstrukturen dar.

GotoExpression

Stellt einen bedingungslosen Sprung dar. Dazu gehören Rückgabeanweisungen, Unterbrechungs- und Fortsetzungsanweisungen und andere Sprünge.

IndexExpression

Stellt die Indizierung einer Eigenschaft oder eines Arrays dar.

InvocationExpression

Stellt einen Ausdruck dar, der einen Delegaten- oder Lambda-Ausdruck auf eine Liste von Argumentausdrücken anwendet.

LabelExpression

Stellt eine Bezeichnung dar, die in beliebigem Expression Kontext platziert werden kann. Wenn sie gesprungen wird, wird der vom entsprechenden GotoExpressionWert bereitgestellte Wert abgerufen. Andernfalls erhält sie den Wert in DefaultValue. Wenn " Type System.Void" gleich ist, sollte kein Wert angegeben werden.

LabelTarget

Wird verwendet, um das Ziel einer .GotoExpression

LambdaExpression

Beschreibt einen Lambda-Ausdruck. Dadurch wird ein Codeblock erfasst, der einem .NET-Methodentext ähnelt.

ListInitExpression

Stellt einen Konstruktoraufruf dar, der über einen Auflistungsinitialisierer verfügt.

LoopExpression

Stellt eine Endlosschleife dar. Er kann mit "Break" beendet werden.

MemberAssignment

Stellt den Zuordnungsvorgang für ein Feld oder eine Eigenschaft eines Objekts dar.

MemberBinding

Stellt die Basisklasse bereit, von der die Klassen, die Bindungen darstellen, die zum Initialisieren von Membern eines neu erstellten Objekts verwendet werden.

MemberExpression

Stellt den Zugriff auf ein Feld oder eine Eigenschaft dar.

MemberInitExpression

Stellt den Aufruf eines Konstruktors dar und initialisiert ein oder mehrere Elemente des neuen Objekts.

MemberListBinding

Stellt die Initialisierung der Elemente eines Auflistungselements eines neu erstellten Objekts dar.

MemberMemberBinding

Stellt die Initialisierung von Elementen eines Elements eines neu erstellten Objekts dar.

MethodCallExpression

Stellt einen Aufruf einer statischen oder einer Instanzmethode dar.

NewArrayExpression

Stellt das Erstellen eines neuen Arrays dar und initialisiert möglicherweise die Elemente des neuen Arrays.

NewExpression

Stellt einen Konstruktoraufruf dar.

ParameterExpression

Stellt einen benannten Parameterausdruck dar.

RuntimeVariablesExpression

Ein Ausdruck, der Laufzeit-Lese-/Schreibberechtigungen für Variablen bereitstellt.

SwitchCase

Stellt einen Fall eines .SwitchExpression

SwitchExpression

Stellt einen Steuerelementausdruck dar, der mehrere Auswahlen behandelt, indem das Steuerelement übergeben wird SwitchCase.

SymbolDocumentInfo

Speichert Informationen, die zum Ausgeben von Debugsymbolinformationen für eine Quelldatei erforderlich sind, insbesondere den Dateinamen und den eindeutigen Sprachbezeichner.

TryExpression

Stellt einen try/catch/finally/fault-Block dar.

TypeBinaryExpression

Stellt einen Vorgang zwischen einem Ausdruck und einem Typ dar.

UnaryExpression

Stellt einen Ausdruck dar, der über einen unären Operator verfügt.

Schnittstellen

Name Beschreibung
IArgumentProvider

Stellt eine interne Schnittstelle für den Zugriff auf die Argumente mehrerer Strukturknoten bereit (DynamicExpression, ElementInit, MethodCallExpression, InvocationExpression, NewExpression und IndexExpression). Diese API ist nur 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-Funktionen bereit. Sie sollten diese API nicht verwenden. Sie ist nur aufgrund der DLL-Umgestaltung öffentlich und nur für interne Leistungsoptimierungen vorhanden.

Enumerationen

Name Beschreibung
ExpressionType

Beschreibt die Knotentypen für die Knoten einer Ausdrucksstruktur.

GotoExpressionKind

Gibt an, welche Art von Sprung dieses 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 , zMemberExpression. B. und ParameterExpression, abgeleitet Expressionwerden, werden verwendet, um Knoten in einer Ausdrucksstruktur darzustellen. Die Expression-Klasse enthält static (Shared in Visual Basic)-Factorymethoden, um Ausdrucksstrukturknoten der verschiedenen Typen zu erstellen.

Der Enumerationstyp ExpressionType gibt die eindeutigen Knotentypen an.

Weitere Informationen