Sdílet prostřednictvím


Expression.Field Metoda

Definice

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

Přetížení

Name Description
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
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

Expression Nastavení Expression vlastnosti rovno. Pro static (Shared v jazyce Visual Basic) expression musí být null.

field
FieldInfo

Chcete-li FieldInfo nastavit Member vlastnost rovná se.

Návraty

AMemberExpression, který má vlastnost rovna MemberAccessNodeType a Expression a Member vlastnosti nastaveny na zadané hodnoty.

Výjimky

field je null.

nebo

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

expression. Typ nelze přiřadit deklarující typ pole reprezentované field.

Poznámky

Vlastnost Type výsledného MemberExpression je rovna FieldType vlastnosti field.

Platí pro

Field(Expression, String)

Zdroj:
MemberExpression.cs
Zdroj:
MemberExpression.cs
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);
[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

Parametry

expression
Expression

Jejíž ExpressionType pole obsahuje název fieldName. Pro statická pole může mít hodnotu null.

fieldName
String

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

Návraty

AMemberExpression, který má vlastnost rovna MemberAccessNodeType , Expression vlastnost nastavena expressionna a Member vlastnost nastavena naFieldInfo, která představuje pole označené .fieldName

Atributy

Výjimky

expression nebo fieldName je null.

V poli 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é MemberExpression je rovna FieldType vlastnostiFieldInfo, která představuje pole označené .fieldName

Tato metoda hledá expression. Zadejte 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 FieldInfo představuje toto pole do Field.

Platí pro

Field(Expression, Type, String)

Zdroj:
MemberExpression.cs
Zdroj:
MemberExpression.cs
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

Pole Type , které obsahuje.

fieldName
String

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

Návraty

MemberExpressionVytvořeno .

Platí pro