Expression.Field Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee maakt u een MemberExpression veld dat toegang geeft tot een veld.
Overloads
| Name | Description |
|---|---|
| Field(Expression, FieldInfo) |
Hiermee maakt u een MemberExpression veld dat toegang geeft tot een veld. |
| Field(Expression, String) |
Hiermee maakt u een MemberExpression veld dat toegang geeft tot een veld met de naam van het veld. |
| Field(Expression, Type, String) |
Hiermee maakt u een MemberExpression veld dat toegang geeft tot een veld. |
Field(Expression, FieldInfo)
Hiermee maakt u een MemberExpression veld dat toegang geeft tot een veld.
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
Parameters
- expression
- Expression
Een Expression om de Expression eigenschap in te stellen die gelijk is aan. Voor static (Shared in Visual Basic) moet expressionnull zijn.
Retouren
Een MemberExpression met de NodeType eigenschap gelijk aan MemberAccess en de Expression eigenschappen die Member zijn ingesteld op de opgegeven waarden.
Uitzonderingen
field is null.
– of –
Het veld dat wordt vertegenwoordigd door field is niet static (Shared in Visual Basic) en expression is null.
expression. Het type kan niet worden toegewezen aan het declaratietype van het veld dat wordt vertegenwoordigd door field.
Opmerkingen
De Type eigenschap van het resulterende MemberExpression is gelijk aan de FieldType eigenschap van field.
Van toepassing op
Field(Expression, String)
Hiermee maakt u een MemberExpression veld dat toegang geeft tot een veld met de naam van het veld.
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
Parameters
- expression
- Expression
Een Expression met Type een veld met de naam fieldName. Dit kan null zijn voor statische velden.
- fieldName
- String
De naam van een veld dat moet worden geopend.
Retouren
Een met de NodeType eigenschap die gelijk is aan MemberAccess, de Expression eigenschap ingesteld op expressionen de Member eigenschap ingesteld op het FieldInfo veld dat wordt aangegeven door fieldName.MemberExpression
Uitzonderingen
expression of fieldName is null.
Er is geen veld met de naam fieldName gedefinieerd in expression. Typ of de basistypen.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u een expressie maakt die toegang geeft tot een veld.
// 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
Opmerkingen
De Type eigenschap van het resulterende MemberExpression veld is gelijk aan de FieldType eigenschap van het FieldInfo veld dat wordt aangeduid door fieldName.
Met deze methode wordt gezocht expression. Typ en de bijbehorende basistypen voor een veld met de naam fieldName. Openbare velden krijgen de voorkeur boven niet-openbare velden. Als er een overeenkomend veld wordt gevonden, wordt deze methode doorgegeven expression en het FieldInfo veld dat aangeeft.Field
Van toepassing op
Field(Expression, Type, String)
Hiermee maakt u een MemberExpression veld dat toegang geeft tot een veld.
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
Public Shared Function Field (expression As Expression, type As Type, fieldName As String) As MemberExpression
Parameters
- expression
- Expression
Het bijbehorende object van het veld. Dit kan null zijn voor statische velden.
- fieldName
- String
Het veld dat moet worden geopend.
Retouren
De gemaakte MemberExpression.