Expression.Field Methode
Definition
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.
Erstellt eine MemberExpression, die den Zugriff auf ein Feld darstellt.
Überlädt
Field(Expression, FieldInfo) |
Erstellt eine MemberExpression, die den Zugriff auf ein Feld darstellt. |
Field(Expression, String) |
Erstellt eine MemberExpression, die bei einem gegebenen Feldnamen den Zugriff auf ein Feld darstellt. |
Field(Expression, Type, String) |
Erstellt eine MemberExpression, die den Zugriff auf ein Feld darstellt. |
Field(Expression, FieldInfo)
- Quelle:
- MemberExpression.cs
- Quelle:
- MemberExpression.cs
- Quelle:
- MemberExpression.cs
Erstellt eine MemberExpression, die den Zugriff auf ein Feld darstellt.
public:
static System::Linq::Expressions::MemberExpression ^ Field(System::Linq::Expressions::Expression ^ expression, System::Reflection::FieldInfo ^ field);
public static System.Linq.Expressions.MemberExpression Field (System.Linq.Expressions.Expression expression, System.Reflection.FieldInfo field);
public static System.Linq.Expressions.MemberExpression Field (System.Linq.Expressions.Expression? expression, System.Reflection.FieldInfo field);
static member Field : System.Linq.Expressions.Expression * System.Reflection.FieldInfo -> System.Linq.Expressions.MemberExpression
Public Shared Function Field (expression As Expression, field As FieldInfo) As MemberExpression
Parameter
- expression
- Expression
Ein Expression, auf den die Expression-Eigenschaft festgelegt werden soll. Für static
(Shared
in Visual Basic) muss expression
gleich null
sein.
Gibt zurück
Ein MemberExpression, bei dem die NodeType-Eigenschaft gleich MemberAccess ist und die Expression-Eigenschaft sowie die Member-Eigenschaft auf die angegebenen Werte festgelegt sind.
Ausnahmen
field
ist null
.
- oder -
Das durch field
dargestellte Feld ist nicht static
(Shared
in Visual Basic), und expression
ist null
.
expression
.Type kann dem deklarierenden Typ des durch field
dargestellten Felds nicht zugeordnet werden.
Hinweise
Die Type -Eigenschaft des resultierenden MemberExpression ist gleich der FieldType -Eigenschaft von field
.
Gilt für:
Field(Expression, String)
- Quelle:
- MemberExpression.cs
- Quelle:
- MemberExpression.cs
- Quelle:
- MemberExpression.cs
Erstellt eine MemberExpression, die bei einem gegebenen Feldnamen den Zugriff auf ein Feld darstellt.
public:
static System::Linq::Expressions::MemberExpression ^ Field(System::Linq::Expressions::Expression ^ expression, System::String ^ fieldName);
public static System.Linq.Expressions.MemberExpression Field (System.Linq.Expressions.Expression expression, string fieldName);
static member Field : System.Linq.Expressions.Expression * string -> System.Linq.Expressions.MemberExpression
Public Shared Function Field (expression As Expression, fieldName As String) As MemberExpression
Parameter
- expression
- Expression
Eine Expression, deren Type ein Feld namens fieldName
enthält. Dies kann für statische Felder NULL sein.
- fieldName
- String
Der Name des Felds, auf das zugegriffen werden soll.
Gibt zurück
Eine MemberExpression, bei der die NodeType-Eigenschaft gleich MemberAccess ist, die Expression-Eigenschaft auf expression
festgelegt ist und die Member-Eigenschaft auf die FieldInfo festgelegt ist, die das durch fieldName
angegebene Feld darstellt.
Ausnahmen
expression
oder fieldName
ist null
.
In fieldName
.Type oder den entsprechenden Basistypen ist kein Feld mit dem Namen expression
definiert.
Beispiele
Das folgende Codebeispiel zeigt, wie Sie einen Ausdruck erstellen, der den Zugriff auf ein Feld darstellt.
// Add the following directive to your file:
// using System.Linq.Expressions;
class TestFieldClass
{
int sample = 40;
}
static void TestField()
{
TestFieldClass obj = new TestFieldClass();
// This expression represents accessing a field.
// For static fields, the first parameter must be null.
Expression fieldExpr = Expression.Field(
Expression.Constant(obj),
"sample"
);
// The following statement first creates an expression tree,
// then compiles it, and then runs it.
Console.WriteLine(Expression.Lambda<Func<int>>(fieldExpr).Compile()());
}
// This code example produces the following output:
//
// 40
' Add the following directive to your file:
' Imports System.Linq.Expressions
Class TestFieldClass
Dim sample As Integer = 40
End Class
Sub TestField()
Dim obj As New TestFieldClass()
' This expression represents accessing a field.
' For static fields, the first parameter must be Nothing.
Dim fieldExpr As Expression = Expression.Field(
Expression.Constant(obj),
"sample"
)
' The following statement first creates an expression tree,
' then compiles it, and then runs it.
Console.WriteLine(Expression.Lambda(Of Func(Of Integer))(fieldExpr).Compile()())
End Sub
' This code example produces the following output:
'
' 40
Hinweise
Die Type Eigenschaft des resultierenden MemberExpression ist gleich der FieldType -Eigenschaft von, die FieldInfo das durch fieldName
bezeichnete Feld darstellt.
Diese Methode durchsucht expression
. Geben Sie und die zugehörigen Basistypen für ein Feld mit dem Namen fieldName
ein. Öffentliche Felder werden gegenüber nicht öffentlichen Feldern bevorzugt. Wenn ein übereinstimmende Feld gefunden wird, übergibt expression
diese Methode und das, das FieldInfo dieses Feld darstellt, an Field.
Gilt für:
Field(Expression, Type, String)
- Quelle:
- MemberExpression.cs
- Quelle:
- MemberExpression.cs
- Quelle:
- MemberExpression.cs
Erstellt eine MemberExpression, die den Zugriff auf ein Feld darstellt.
public:
static System::Linq::Expressions::MemberExpression ^ Field(System::Linq::Expressions::Expression ^ expression, Type ^ type, System::String ^ fieldName);
public static System.Linq.Expressions.MemberExpression Field (System.Linq.Expressions.Expression expression, Type type, string fieldName);
public static System.Linq.Expressions.MemberExpression Field (System.Linq.Expressions.Expression? expression, Type type, string fieldName);
static member Field : System.Linq.Expressions.Expression * Type * string -> System.Linq.Expressions.MemberExpression
Public Shared Function Field (expression As Expression, type As Type, fieldName As String) As MemberExpression
Parameter
- expression
- Expression
Das enthaltende Objekt des Felds. Dies kann für statische Felder NULL sein.
- fieldName
- String
Das Feld, auf das zugegriffen werden soll.
Gibt zurück
Der erstellte MemberExpression.