Expression.Field Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Skapar en MemberExpression som representerar åtkomst till ett fält.
Överlagringar
| Name | Description |
|---|---|
| Field(Expression, FieldInfo) |
Skapar en MemberExpression som representerar åtkomst till ett fält. |
| Field(Expression, String) |
Skapar en MemberExpression som representerar åtkomst till ett fält med namnet på fältet. |
| Field(Expression, Type, String) |
Skapar en MemberExpression som representerar åtkomst till ett fält. |
Field(Expression, FieldInfo)
Skapar en MemberExpression som representerar åtkomst till ett fält.
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
Parametrar
- expression
- Expression
En Expression som egenskapen Expression ska vara lika med. För static (Shared i Visual Basic) måste expression vara null.
Returer
En MemberExpression som har egenskapen NodeType lika med MemberAccess och Expression egenskaperna och Member inställda på de angivna värdena.
Undantag
field är null.
-eller-
Fältet som representeras av field är inte static (Shared i Visual Basic) och expression är null.
expression. Typen kan inte tilldelas till deklareringstypen för fältet som representeras av field.
Kommentarer
Egenskapen Type för resultatet MemberExpression är lika med FieldType egenskapen fieldför .
Gäller för
Field(Expression, String)
Skapar en MemberExpression som representerar åtkomst till ett fält med namnet på fältet.
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
Parametrar
- expression
- Expression
En Expression vars Type innehåller ett fält med namnet fieldName. Detta kan vara null för statiska fält.
- fieldName
- String
Namnet på ett fält som ska nås.
Returer
En MemberExpression som har NodeType egenskapen lika med MemberAccess, Expression egenskapen inställd på expression, och Member egenskapen inställd på FieldInfo som representerar fältet som anges av fieldName.
Undantag
expression eller fieldName är null.
Inget fält med namnet fieldName definieras i expression. Typ eller dess bastyper.
Exempel
I följande kodexempel visas hur du skapar ett uttryck som representerar åtkomst till ett fält.
// 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
Kommentarer
Egenskapen Type för resultatet MemberExpression är lika med FieldType egenskapen FieldInfo för det som representerar fältet som anges av fieldName.
Den här metoden söker i expression. Skriv och dess bastyper för ett fält som har namnet fieldName. Offentliga fält ges företräde framför icke-offentliga fält. Om ett matchande fält hittas skickas expression den här metoden och FieldInfo det som representerar fältet till Field.
Gäller för
Field(Expression, Type, String)
Skapar en MemberExpression som representerar åtkomst till ett fält.
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
Parametrar
- expression
- Expression
Fältets innehållande objekt. Detta kan vara null för statiska fält.
- fieldName
- String
Det fält som ska nås.
Returer
Den skapade MemberExpression.