System.Linq.Expressions Przestrzeń nazw
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 |
| 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.