Expression.Field Methode

Definitie

Hiermee maakt u een MemberExpression veld dat toegang geeft tot een veld.

Overloads

Name Description
Field(Expression, FieldInfo)

Hiermee maakt u een MemberExpression veld dat toegang geeft tot een veld.

Field(Expression, String)

Hiermee maakt u een MemberExpression veld dat toegang geeft tot een veld met de naam van het veld.

Field(Expression, Type, String)

Hiermee maakt u een MemberExpression veld dat toegang geeft tot een veld.

Field(Expression, FieldInfo)

Hiermee maakt u een MemberExpression veld dat toegang geeft tot een veld.

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

Parameters

expression
Expression

Een Expression om de Expression eigenschap in te stellen die gelijk is aan. Voor static (Shared in Visual Basic) moet expressionnull zijn.

field
FieldInfo

Hiermee FieldInfo stelt u de Member eigenschap in die gelijk is aan.

Retouren

Een MemberExpression met de NodeType eigenschap gelijk aan MemberAccess en de Expression eigenschappen die Member zijn ingesteld op de opgegeven waarden.

Uitzonderingen

field is null.

– of –

Het veld dat wordt vertegenwoordigd door field is niet static (Shared in Visual Basic) en expression is null.

expression. Het type kan niet worden toegewezen aan het declaratietype van het veld dat wordt vertegenwoordigd door field.

Opmerkingen

De Type eigenschap van het resulterende MemberExpression is gelijk aan de FieldType eigenschap van field.

Van toepassing op

Field(Expression, String)

Hiermee maakt u een MemberExpression veld dat toegang geeft tot een veld met de naam van het veld.

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

Parameters

expression
Expression

Een Expression met Type een veld met de naam fieldName. Dit kan null zijn voor statische velden.

fieldName
String

De naam van een veld dat moet worden geopend.

Retouren

Een met de NodeType eigenschap die gelijk is aan MemberAccess, de Expression eigenschap ingesteld op expressionen de Member eigenschap ingesteld op het FieldInfo veld dat wordt aangegeven door fieldName.MemberExpression

Uitzonderingen

expression of fieldName is null.

Er is geen veld met de naam fieldName gedefinieerd in expression. Typ of de basistypen.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u een expressie maakt die toegang geeft tot een veld.

// 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

Opmerkingen

De Type eigenschap van het resulterende MemberExpression veld is gelijk aan de FieldType eigenschap van het FieldInfo veld dat wordt aangeduid door fieldName.

Met deze methode wordt gezocht expression. Typ en de bijbehorende basistypen voor een veld met de naam fieldName. Openbare velden krijgen de voorkeur boven niet-openbare velden. Als er een overeenkomend veld wordt gevonden, wordt deze methode doorgegeven expression en het FieldInfo veld dat aangeeft.Field

Van toepassing op

Field(Expression, Type, String)

Hiermee maakt u een MemberExpression veld dat toegang geeft tot een veld.

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);
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

Parameters

expression
Expression

Het bijbehorende object van het veld. Dit kan null zijn voor statische velden.

type
Type

Het Type veld dat het bevat.

fieldName
String

Het veld dat moet worden geopend.

Retouren

De gemaakte MemberExpression.

Van toepassing op