System.Linq.Expressions Przestrzeń nazw

Zawiera klasy, interfejsy i wyliczenia, które umożliwiają reprezentację wyrażeń kodu na poziomie języka jako obiekty w postaci drzew wyrażeń.

Klasy

Nazwa Opis
BinaryExpression

Reprezentuje wyrażenie, które ma operator binarny.

BlockExpression

Reprezentuje blok zawierający sekwencję wyrażeń, w których można zdefiniować zmienne.

CatchBlock

Reprezentuje instrukcję catch w bloku try.

ConditionalExpression

Reprezentuje wyrażenie, które ma operator warunkowy.

ConstantExpression

Reprezentuje wyrażenie, które ma stałą wartość.

DebugInfoExpression

Emituje lub czyści punkt sekwencji informacji o debugowaniu. Dzięki temu debuger może wyróżnić prawidłowy kod źródłowy podczas debugowania.

DefaultExpression

Reprezentuje wartość domyślną typu lub puste wyrażenie.

DynamicExpression

Reprezentuje operację dynamiczną.

DynamicExpressionVisitor

Reprezentuje odwiedzających lub autorów dla drzew wyrażeń dynamicznych.

ElementInit

Reprezentuje inicjator pojedynczego elementu kolekcji IEnumerable .

Expression

Udostępnia klasę bazową, z której pochodzą klasy reprezentujące węzły drzewa wyrażeń. Zawiera static również metody fabryki (Shared w Visual Basic) służące do tworzenia różnych typów węzłów. Jest abstract to klasa.

Expression<TDelegate>

Reprezentuje silnie typizowane wyrażenie lambda jako strukturę danych w postaci drzewa wyrażeń. Klasa ta nie może być dziedziczona.

ExpressionVisitor

Reprezentuje odwiedzających lub autorów dla drzew wyrażeń.

GotoExpression

Reprezentuje bezwarunkowy skok. Obejmuje to instrukcje powrotne, instrukcje break i continue oraz inne skoki.

IndexExpression

Reprezentuje indeksowanie właściwości lub tablicy.

InvocationExpression

Reprezentuje wyrażenie, które stosuje wyrażenie delegata lub lambda do listy wyrażeń argumentów.

LabelExpression

Reprezentuje etykietę, którą można umieścić w dowolnym Expression kontekście. Jeśli zostanie on przeskoczył do, otrzyma wartość podaną przez odpowiedni GotoExpressionelement . W przeciwnym razie otrzymuje wartość w elemecie DefaultValue. Jeśli wartość jest Type równa System.Void, nie należy podawać żadnej wartości.

LabelTarget

Służy do reprezentowania obiektu docelowego obiektu GotoExpression.

LambdaExpression

Opisuje wyrażenie lambda. Spowoduje to przechwycenie bloku kodu podobnego do treści metody platformy .NET.

ListInitExpression

Reprezentuje wywołanie konstruktora, które ma inicjator kolekcji.

LoopExpression

Reprezentuje nieskończoną pętlę. Można go zamknąć z "break".

MemberAssignment

Reprezentuje operację przypisania dla pola lub właściwości obiektu.

MemberBinding

Udostępnia klasę bazową, z której klasy reprezentują powiązania używane do inicjowania składowych nowo utworzonego obiektu.

MemberExpression

Reprezentuje dostęp do pola lub właściwości.

MemberInitExpression

Reprezentuje wywoływanie konstruktora i inicjowanie co najmniej jednego elementu członkowskiego nowego obiektu.

MemberListBinding

Reprezentuje inicjowanie elementów elementu członkowskiego kolekcji nowo utworzonego obiektu.

MemberMemberBinding

Reprezentuje inicjowanie elementów członkowskich elementu członkowskiego nowo utworzonego obiektu.

MethodCallExpression

Reprezentuje wywołanie metody statycznej lub wystąpienia.

NewArrayExpression

Reprezentuje tworzenie nowej tablicy i ewentualnie inicjowanie elementów nowej tablicy.

NewExpression

Reprezentuje wywołanie konstruktora.

ParameterExpression

Reprezentuje nazwane wyrażenie parametru.

RuntimeVariablesExpression

Wyrażenie, które zapewnia uprawnienie do odczytu/zapisu środowiska uruchomieniowego dla zmiennych.

SwitchCase

Reprezentuje jeden przypadek obiektu SwitchExpression.

SwitchExpression

Reprezentuje wyrażenie kontrolki, które obsługuje wiele wyborów, przekazując kontrolkę do SwitchCaseelementu .

SymbolDocumentInfo

Przechowuje informacje niezbędne do emitowania informacji o symbolach debugowania dla pliku źródłowego, w szczególności nazwy pliku i unikatowego identyfikatora języka.

TryExpression

Reprezentuje blok try/catch/finally/fault.

TypeBinaryExpression

Reprezentuje operację między wyrażeniem a typem.

UnaryExpression

Reprezentuje wyrażenie, które ma operator jednoargumentowy.

Interfejsy

Nazwa Opis
IArgumentProvider

Udostępnia wewnętrzny interfejs umożliwiający uzyskiwanie dostępu do argumentów wielu węzłów drzewa (DynamicExpression, ElementInit, MethodCallExpression, InvocationExpression, NewExpression i IndexExpression). Ten interfejs API jest przeznaczony tylko do użytku wewnętrznego.

IDynamicExpression

Udostępnia wewnętrzny interfejs umożliwiający uzyskiwanie dostępu do argumentów węzłów drzewa DynamicExpression, a także funkcji CallSite i Rewriting. Nie należy używać tego interfejsu API. Jest ona publiczna tylko ze względu na refaktoryzację bibliotek DLL i istnieje tylko w przypadku wewnętrznych optymalizacji wydajności.

Wyliczenia

Nazwa Opis
ExpressionType

Opisuje typy węzłów dla węzłów drzewa wyrażeń.

GotoExpressionKind

Określa, jaki rodzaj skoku reprezentuje ten GotoExpression.

MemberBindingType

Opisuje typy powiązań używane w obiektach MemberInitExpression.

Uwagi

Klasa Expression abstrakcyjna udostępnia katalog główny hierarchii klas używanych do modelowania drzew wyrażeń.

Klasy w tej przestrzeni nazw, które pochodzą z Expression, na przykład MemberExpression i ParameterExpression, są używane do reprezentowania węzłów w drzewie wyrażeń. Klasa Expression zawiera static (Shared w Visual Basic) metody fabryki do tworzenia węzłów drzewa wyrażeń różnych typów.

Typ ExpressionType wyliczenia określa unikatowe typy węzłów.

Zobacz też