Expression.Field Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает объект MemberExpression , представляющий доступ к полю.
Перегрузки
| Имя | Описание |
|---|---|
| Field(Expression, FieldInfo) |
Создает объект MemberExpression , представляющий доступ к полю. |
| Field(Expression, String) |
Создает объект MemberExpression , представляющий доступ к полю с именем поля. |
| Field(Expression, Type, String) |
Создает объект MemberExpression , представляющий доступ к полю. |
Field(Expression, FieldInfo)
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
Создает объект MemberExpression , представляющий доступ к полю.
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
Параметры
- expression
- Expression
Значение Expression , равное свойству Expression . Для static (Shared в Visual Basic) expression должно быть null.
Возвращаемое значение
Значение MemberExpression , равное свойству NodeTypeMemberAccess и ExpressionMember свойствам, заданным указанным значениям.
Исключения
field равно null.
–или–
Поле, field представленное не static (Shared в Visual Basic) и expression является null.
expression. Тип не присваивается декларируемому типу поля, fieldпредставленному .
Комментарии
Свойство Type результирующего MemberExpression объекта равно свойству FieldTypefield.
Применяется к
Field(Expression, String)
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
Создает объект MemberExpression , представляющий доступ к полю с именем поля.
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
Параметры
- expression
- Expression
Имя Expression которого Type содержит поле с именем fieldName. Это может быть null для статических полей.
- fieldName
- String
Имя поля для доступа.
Возвращаемое значение
ОбъектMemberExpression, равный NodeType свойствуexpressionMemberAccess, Expression свойству, заданному , и Member свойству, заданному FieldInfo для поля, обозначаемого fieldName.
- Атрибуты
Исключения
expression или fieldName есть null.
Имя поля fieldName не определено в expression. Тип или базовые типы.
Примеры
В следующем примере кода показано, как создать выражение, представляющее доступ к полю.
// 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
Комментарии
Свойство Type результирующего MemberExpression объекта равно FieldType свойству FieldInfo , представляющего поле, которое обозначается fieldName.
Этот метод выполняет поиск expression. Тип и его базовые типы для поля с именем fieldName. Общедоступные поля задаются предпочтениями по сравнению с не открытыми полями. Если найдено соответствующее поле, этот метод передает expression и FieldInfo представляет это поле Field.
Применяется к
Field(Expression, Type, String)
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
Создает объект MemberExpression , представляющий доступ к полю.
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
Параметры
- expression
- Expression
Содержащий объект поля. Это может быть null для статических полей.
- fieldName
- String
Доступ к полю.
Возвращаемое значение
Созданный MemberExpressionобъект.