Expression.Field 方法 
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建一个表示访问字段的 MemberExpression。
重载
| Field(Expression, FieldInfo) | 创建一个表示访问字段的 MemberExpression。 | 
| Field(Expression, String) | 在给定字段名称的情况下,创建一个表示访问此字段的 MemberExpression。 | 
| Field(Expression, Type, String) | 创建一个表示访问字段的 MemberExpression。 | 
Field(Expression, FieldInfo)
- Source:
- MemberExpression.cs
- Source:
- MemberExpression.cs
- Source:
- 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.MemberExpressionPublic Shared Function Field (expression As Expression, field As FieldInfo) As MemberExpression参数
- expression
- Expression
要将 Expression 属性设置为与其相等的 Expression。 对于 static(在 Visual Basic 中为 Shared),expression 必须是 null。
返回
一个 MemberExpression,其 NodeType 属性等于 MemberAccess,并且其 Expression 和 Member 属性设置为指定值。
例外
              field 为 null。
- 或 -
              field 表示的字段不为 static(在 Visual Basic 中不为 Shared),且 expression 为 null。
              expression.Type 不能赋给 field 所表示的字段的声明类型。
注解
              Type生成的 MemberExpression 的 属性等于 FieldType 的 field属性。
适用于
Field(Expression, String)
- Source:
- MemberExpression.cs
- Source:
- MemberExpression.cs
- Source:
- 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);static member Field : System.Linq.Expressions.Expression * string -> System.Linq.Expressions.MemberExpressionPublic Shared Function Field (expression As Expression, fieldName As String) As MemberExpression参数
- expression
- Expression
一个 Expression,其 Type 中包含一个名为 fieldName 的字段。 对于静态字段,这可以为 null。
- fieldName
- String
要访问的字段的名称。
返回
              MemberExpression 的 NodeType 属性等于 MemberAccess,Expression 属性设置为 expression,Member 属性设置为 FieldInfo(表示由 fieldName 表示的字段)。
例外
              expression 或 fieldName 为 null。
没有在 fieldName.Type 或其基类型中定义名为 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)
- Source:
- MemberExpression.cs
- Source:
- MemberExpression.cs
- Source:
- 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.MemberExpressionPublic Shared Function Field (expression As Expression, type As Type, fieldName As String) As MemberExpression参数
- expression
- Expression
字段的包含对象。 对于静态字段,这可以为 null。
- fieldName
- String
要访问的字段。
返回
创建的 MemberExpression。