Freigeben über


Expression.Field Methode

Definition

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.

field
FieldInfo

Die FieldInfo, auf das die Member-Eigenschaft festgelegt werden soll.

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 fieldNamebezeichnete Feld darstellt.

Diese Methode durchsucht expression. Geben Sie und die zugehörigen Basistypen für ein Feld mit dem Namen fieldNameein. Ö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.

type
Type

Der Type, der das Feld enthält.

fieldName
String

Das Feld, auf das zugegriffen werden soll.

Gibt zurück

Der erstellte MemberExpression.

Gilt für: