Bagikan melalui


Expression.Field Metode

Definisi

MemberExpression Membuat yang mewakili mengakses bidang.

Overload

Nama Deskripsi
Field(Expression, FieldInfo)

MemberExpression Membuat yang mewakili mengakses bidang.

Field(Expression, String)

MemberExpression Membuat yang mewakili mengakses bidang yang diberi nama bidang.

Field(Expression, Type, String)

MemberExpression Membuat yang mewakili mengakses bidang.

Field(Expression, FieldInfo)

Sumber:
MemberExpression.cs
Sumber:
MemberExpression.cs
Sumber:
MemberExpression.cs
Sumber:
MemberExpression.cs
Sumber:
MemberExpression.cs

MemberExpression Membuat yang mewakili mengakses bidang.

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

Untuk Expression mengatur properti sama Expression dengan. Untuk static (Shared di Visual Basic), expression harus null.

field
FieldInfo

FieldInfo untuk mengatur Member properti sama dengan.

Mengembalikan

MemberExpression Yang memiliki NodeType properti sama dengan MemberAccess dan Expression properti dan Member diatur ke nilai yang ditentukan.

Pengecualian

field adalah null.

-atau-

Bidang yang diwakili oleh field bukan static (Shared dalam Visual Basic) dan expression adalah null.

expression. Tipe tidak dapat ditetapkan ke jenis deklarasikan bidang yang diwakili oleh field.

Keterangan

Properti Type dari yang dihasilkan MemberExpression sama dengan FieldType properti .field

Berlaku untuk

Field(Expression, String)

Sumber:
MemberExpression.cs
Sumber:
MemberExpression.cs
Sumber:
MemberExpression.cs
Sumber:
MemberExpression.cs
Sumber:
MemberExpression.cs

MemberExpression Membuat yang mewakili mengakses bidang yang diberi nama bidang.

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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")>]
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

Type Yang Expression berisi bidang bernama fieldName. Ini bisa null untuk bidang statis.

fieldName
String

Nama bidang yang akan diakses.

Mengembalikan

yang memiliki NodeType properti yang sama dengan MemberAccess, properti diatur Expression ke expression, dan Member properti diatur ke FieldInfo yang mewakili bidang yang ditandai oleh fieldName.MemberExpression

Atribut

Pengecualian

expression atau fieldName adalah null.

Tidak ada bidang bernama fieldName yang didefinisikan dalam expression. Jenis atau jenis dasarnya.

Contoh

Contoh kode berikut menunjukkan cara membuat ekspresi yang mewakili mengakses bidang.

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

Keterangan

Properti Type dari yang dihasilkan MemberExpression sama dengan FieldType properti FieldInfo yang mewakili bidang yang ditandai dengan fieldName.

Metode ini mencari expression. Ketik dan jenis dasarnya untuk bidang yang memiliki nama fieldName. Bidang publik diberikan preferensi atas bidang non-publik. Jika bidang yang cocok ditemukan, metode ini lolos expression dan yang mewakili bidang tersebut FieldInfo ke Field.

Berlaku untuk

Field(Expression, Type, String)

Sumber:
MemberExpression.cs
Sumber:
MemberExpression.cs
Sumber:
MemberExpression.cs
Sumber:
MemberExpression.cs
Sumber:
MemberExpression.cs

MemberExpression Membuat yang mewakili mengakses bidang.

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

Objek yang berisi bidang . Ini bisa null untuk bidang statis.

type
Type

Yang Type berisi bidang .

fieldName
String

Bidang yang akan diakses.

Mengembalikan

Yang dibuat MemberExpression.

Berlaku untuk