Expression.Field Metod

Definition

Skapar en MemberExpression som representerar åtkomst till ett fält.

Överlagringar

Name Description
Field(Expression, FieldInfo)

Skapar en MemberExpression som representerar åtkomst till ett fält.

Field(Expression, String)

Skapar en MemberExpression som representerar åtkomst till ett fält med namnet på fältet.

Field(Expression, Type, String)

Skapar en MemberExpression som representerar åtkomst till ett fält.

Field(Expression, FieldInfo)

Skapar en MemberExpression som representerar åtkomst till ett fält.

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

Parametrar

expression
Expression

En Expression som egenskapen Expression ska vara lika med. För static (Shared i Visual Basic) måste expression vara null.

field
FieldInfo

För FieldInfo att ange egenskapen Member lika med.

Returer

En MemberExpression som har egenskapen NodeType lika med MemberAccess och Expression egenskaperna och Member inställda på de angivna värdena.

Undantag

field är null.

-eller-

Fältet som representeras av field är inte static (Shared i Visual Basic) och expression är null.

expression. Typen kan inte tilldelas till deklareringstypen för fältet som representeras av field.

Kommentarer

Egenskapen Type för resultatet MemberExpression är lika med FieldType egenskapen fieldför .

Gäller för

Field(Expression, String)

Skapar en MemberExpression som representerar åtkomst till ett fält med namnet på fältet.

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

Parametrar

expression
Expression

En Expression vars Type innehåller ett fält med namnet fieldName. Detta kan vara null för statiska fält.

fieldName
String

Namnet på ett fält som ska nås.

Returer

En MemberExpression som har NodeType egenskapen lika med MemberAccess, Expression egenskapen inställd på expression, och Member egenskapen inställd på FieldInfo som representerar fältet som anges av fieldName.

Undantag

expression eller fieldName är null.

Inget fält med namnet fieldName definieras i expression. Typ eller dess bastyper.

Exempel

I följande kodexempel visas hur du skapar ett uttryck som representerar åtkomst till ett fält.

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

Kommentarer

Egenskapen Type för resultatet MemberExpression är lika med FieldType egenskapen FieldInfo för det som representerar fältet som anges av fieldName.

Den här metoden söker i expression. Skriv och dess bastyper för ett fält som har namnet fieldName. Offentliga fält ges företräde framför icke-offentliga fält. Om ett matchande fält hittas skickas expression den här metoden och FieldInfo det som representerar fältet till Field.

Gäller för

Field(Expression, Type, String)

Skapar en MemberExpression som representerar åtkomst till ett fält.

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

Parametrar

expression
Expression

Fältets innehållande objekt. Detta kan vara null för statiska fält.

type
Type

Det Type som innehåller fältet.

fieldName
String

Det fält som ska nås.

Returer

Den skapade MemberExpression.

Gäller för