Expression.Field Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří objekt MemberExpression , který představuje přístup k poli.
Přetížení
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
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
Pro Expression nastavení Expression vlastnosti na hodnotu . Pro static
(Shared
v jazyce Visual Basic) expression
musí být null
.
Návraty
A MemberExpression , který má NodeType vlastnost rovnou MemberAccess a Expression vlastnosti a Member nastavené na zadané hodnoty.
Výjimky
field
je null
.
-nebo-
Pole reprezentované field
hodnotou není static
(Shared
v jazyce Visual Basic) a expression
je null
.
expression
. Typ není možné přiřadit deklarující typ pole reprezentované parametrem field
.
Poznámky
Vlastnost Type výsledného MemberExpression objektu FieldType se rovná vlastnosti objektu field
.
Platí pro
Field(Expression, String)
- 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);
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
Objekt Expression , jehož Type obsahuje pole s názvem fieldName
. Pro statická pole může mít hodnotu null.
- fieldName
- String
Název pole, ke které se má přistupovat.
Návraty
A MemberExpression , který má NodeType vlastnost rovnou MemberAccess, vlastnost nastavenou Expression na expression
a vlastnost nastavenou MemberFieldInfo na , která představuje pole označené hodnotou fieldName
.
Výjimky
expression
nebo fieldName
je null
.
V nástroji 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ého MemberExpression objektu je rovna FieldType vlastnosti FieldInfo , která představuje pole označené hodnotou fieldName
.
Tato metoda prohledá expression
. Typ 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 objekt FieldInfo , který toto pole představuje, do Field.
Platí pro
Field(Expression, Type, String)
- 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.
- fieldName
- String
Pole, ke které se má přistupovat.
Návraty
Vytvořený MemberExpressionobjekt