Expression.Field Méthode

Définition

Crée un MemberExpression qui représente l'accès à un champ.Creates a MemberExpression that represents accessing a field.

Surcharges

Field(Expression, FieldInfo)

Crée un MemberExpression qui représente l'accès à un champ.Creates a MemberExpression that represents accessing a field.

Field(Expression, String)

Crée un MemberExpression qui représente l'accès à un champ à partir du nom du champ.Creates a MemberExpression that represents accessing a field given the name of the field.

Field(Expression, Type, String)

Crée un MemberExpression qui représente l'accès à un champ.Creates a MemberExpression that represents accessing a field.

Field(Expression, FieldInfo)

Crée un MemberExpression qui représente l'accès à un champ.Creates a MemberExpression that represents accessing a 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

Paramètres

expression
Expression

Expression auquel la propriété Expression doit être égale.An Expression to set the Expression property equal to. Pour static (Shared en Visual Basic), expression doit être null.For static (Shared in Visual Basic), expression must be null.

field
FieldInfo

FieldInfo auquel la propriété Member doit être égale.The FieldInfo to set the Member property equal to.

Retours

MemberExpression dont la propriété NodeType est égale à MemberAccess et dont les propriétés Expression et Member ont les valeurs spécifiées.A MemberExpression that has the NodeType property equal to MemberAccess and the Expression and Member properties set to the specified values.

Exceptions

field a la valeur null.field is null.

- ou --or- Le champ représenté par field n'est pas static (Shared en Visual Basic) et expression est null.The field represented by field is not static (Shared in Visual Basic) and expression is null.

expression.Type ne peut pas être assigné au type de déclaration du champ représenté par field.expression.Type is not assignable to the declaring type of the field represented by field.

Remarques

La Type propriété du résultant MemberExpression est égale à la FieldType propriété de field.The Type property of the resulting MemberExpression is equal to the FieldType property of field.

Field(Expression, String)

Crée un MemberExpression qui représente l'accès à un champ à partir du nom du champ.Creates a MemberExpression that represents accessing a field given the name of the field.

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

Paramètres

expression
Expression

Expression dont Type contient un champ nommé fieldName.An Expression whose Type contains a field named fieldName. Cette valeur peut être null pour les champs statiques.This can be null for static fields.

fieldName
String

Nom d'un champ auquel accéder.The name of a field to be accessed.

Retours

MemberExpression dont la propriété NodeType est égale à MemberAccess, dont la propriété Expression a pour valeur expression et dont la propriété Member a pour valeur le FieldInfo qui représente le champ désigné par fieldName.A MemberExpression that has the NodeType property equal to MemberAccess, the Expression property set to expression, and the Member property set to the FieldInfo that represents the field denoted by fieldName.

Exceptions

expression ou fieldName est null.expression or fieldName is null.

Aucun champ nommé fieldName n'est défini dans expression.Type ou ses types de base.No field named fieldName is defined in expression.Type or its base types.

Exemples

L’exemple de code suivant montre comment créer une expression qui représente l’accès à un champ.The following code example shows how to create an expression that represents accessing a field.

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

Remarques

La Type propriété du résultant MemberExpression est égale FieldType fieldNameà la propriété du quireprésentelechampdésignépar.FieldInfoThe Type property of the resulting MemberExpression is equal to the FieldType property of the FieldInfo that represents the field denoted by fieldName.

Cette méthode recherche expression. Tapez et ses types de base pour un champ qui porte le fieldNamenom.This method searches expression.Type and its base types for a field that has the name fieldName. Les champs publics sont prioritaires par rapport aux champs non publics.Public fields are given preference over non-public fields. Si un champ correspondant est trouvé, cette méthode passe expression et le FieldInfo qui représente ce champ à Field.If a matching field is found, this method passes expression and the FieldInfo that represents that field to Field.

Field(Expression, Type, String)

Crée un MemberExpression qui représente l'accès à un champ.Creates a MemberExpression that represents accessing a field.

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

Paramètres

expression
Expression

Objet conteneur du champ.The containing object of the field. Cette valeur peut être null pour les champs statiques.This can be null for static fields.

type
Type

Type qui contient le champ.The Type that contains the field.

fieldName
String

Champ auquel accéder.The field to be accessed.

Retours

Élément MemberExpression créé.The created MemberExpression.

S’applique à