Compartilhar via


Expression.Field Método

Definição

Cria um MemberExpression que representa o acesso a um campo.

Sobrecargas

Nome Description
Field(Expression, FieldInfo)

Cria um MemberExpression que representa o acesso a um campo.

Field(Expression, String)

Cria um MemberExpression que representa o acesso a um campo dado o nome do campo.

Field(Expression, Type, String)

Cria um MemberExpression que representa o acesso a um campo.

Field(Expression, FieldInfo)

Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs

Cria um MemberExpression que representa o acesso a um campo.

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

Parâmetros

expression
Expression

Um Expression para definir a Expression propriedade igual a. For static (Shared no Visual Basic), expression deve ser null.

field
FieldInfo

A FieldInfo propriedade para a qual definir a Member propriedade é igual.

Retornos

Um MemberExpression que tem a NodeType propriedade igual a MemberAccess e as Expression propriedades e Member definidas para os valores especificados.

Exceções

field é null.

- ou -

O campo representado por field não é (Shared no Visual Basic) e expression é nullstatic .

expression. O tipo não é atribuível ao tipo de declaração do campo representado por field.

Comentários

A Type propriedade do resultado MemberExpression é igual à FieldType propriedade de field.

Aplica-se a

Field(Expression, String)

Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs

Cria um MemberExpression que representa o acesso a um campo dado o nome do campo.

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

Parâmetros

expression
Expression

Um Expression cujo Type campo contém um campo chamado fieldName. Isso pode ser nulo para campos estáticos.

fieldName
String

O nome de um campo a ser acessado.

Retornos

Um MemberExpression que tem a NodeType propriedade igual a MemberAccess, a Expression propriedade definida como expression, e a Member propriedade definida como a FieldInfo que representa o campo indicado por fieldName.

Atributos

Exceções

expression ou fieldName é null.

Nenhum campo nomeado fieldName é definido em expression. Digite ou seus tipos base.

Exemplos

O exemplo de código a seguir mostra como criar uma expressão que representa o acesso a um campo.

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

Comentários

A Type propriedade do resultado MemberExpression é igual à FieldType propriedade do FieldInfo que representa o campo indicado por fieldName.

Esse método pesquisa expression. Digite e seus tipos base para um campo que tem o nome fieldName. Os campos públicos recebem preferência sobre campos não públicos. Se um campo correspondente for encontrado, esse método passará expression e o FieldInfo que representa esse campo para Field.

Aplica-se a

Field(Expression, Type, String)

Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs

Cria um MemberExpression que representa o acesso a um campo.

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

Parâmetros

expression
Expression

O objeto que contém o campo. Isso pode ser nulo para campos estáticos.

type
Type

O Type que contém o campo.

fieldName
String

O campo a ser acessado.

Retornos

O .MemberExpression

Aplica-se a