Sdílet prostřednictvím


Expression.Field Metoda

Definice

Vytvoří objekt MemberExpression , který představuje přístup k poli.

Přetížení

Field(Expression, FieldInfo)

Vytvoří objekt MemberExpression , který představuje přístup k poli.

Field(Expression, String)

Vytvoří objekt MemberExpression , který představuje přístup k poli s názvem pole.

Field(Expression, Type, String)

Vytvoří objekt MemberExpression , který představuje přístup k poli.

Field(Expression, FieldInfo)

Zdroj:
MemberExpression.cs
Zdroj:
MemberExpression.cs
Zdroj:
MemberExpression.cs

Vytvoří objekt MemberExpression , který představuje přístup k poli.

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

Parametry

expression
Expression

Pro Expression nastavení Expression vlastnosti na hodnotu . Pro static (Shared v jazyce Visual Basic) expression musí být null.

field
FieldInfo

Vlastnost FieldInfo se nastaví Member na .

Návraty

A MemberExpression , který má NodeType vlastnost rovnou MemberAccess a Expression vlastnosti a Member nastavené na zadané hodnoty.

Výjimky

field je null.

-nebo-

Pole reprezentované field hodnotou není static (Shared v jazyce Visual Basic) a expression je null.

expression. Typ není možné přiřadit deklarující typ pole reprezentované parametrem field.

Poznámky

Vlastnost Type výsledného MemberExpression objektu FieldType se rovná vlastnosti objektu field.

Platí pro

Field(Expression, String)

Zdroj:
MemberExpression.cs
Zdroj:
MemberExpression.cs
Zdroj:
MemberExpression.cs

Vytvoří objekt MemberExpression , který představuje přístup k poli s názvem pole.

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

Parametry

expression
Expression

Objekt Expression , jehož Type obsahuje pole s názvem fieldName. Pro statická pole může mít hodnotu null.

fieldName
String

Název pole, ke které se má přistupovat.

Návraty

A MemberExpression , který má NodeType vlastnost rovnou MemberAccess, vlastnost nastavenou Expression na expressiona vlastnost nastavenou MemberFieldInfo na , která představuje pole označené hodnotou fieldName.

Výjimky

expression nebo fieldName je null.

V nástroji není definováno expressionžádné pole s názvem fieldName . Typ nebo jeho základní typy.

Příklady

Následující příklad kódu ukazuje, jak vytvořit výraz, který představuje přístup k poli.

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

Poznámky

Vlastnost Type výsledného MemberExpression objektu je rovna FieldType vlastnosti FieldInfo , která představuje pole označené hodnotou fieldName.

Tato metoda prohledá expression. Typ a jeho základní typy pro pole, které má název fieldName. Veřejná pole mají přednost před neveřejná pole. Pokud se najde odpovídající pole, tato metoda předá expression a objekt FieldInfo , který toto pole představuje, do Field.

Platí pro

Field(Expression, Type, String)

Zdroj:
MemberExpression.cs
Zdroj:
MemberExpression.cs
Zdroj:
MemberExpression.cs

Vytvoří objekt MemberExpression , který představuje přístup k poli.

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

Parametry

expression
Expression

Obsahující objekt pole. Pro statická pole může mít hodnotu null.

type
Type

Hodnota Type , která obsahuje pole.

fieldName
String

Pole, ke které se má přistupovat.

Návraty

Vytvořený MemberExpressionobjekt

Platí pro