MemberExpression 类

定义

表示访问字段或属性。

public ref class MemberExpression : System::Linq::Expressions::Expression
public ref class MemberExpression sealed : System::Linq::Expressions::Expression
public class MemberExpression : System.Linq.Expressions.Expression
public sealed class MemberExpression : System.Linq.Expressions.Expression
type MemberExpression = class
    inherit Expression
Public Class MemberExpression
Inherits Expression
Public NotInheritable Class MemberExpression
Inherits Expression
继承
MemberExpression

示例

以下示例创建一个 MemberExpression 表示获取字段成员的值的 。

class Animal
{
    public string species;
}

public static void CreateFieldExpression()
{
    Animal horse = new Animal();

    // Create a MemberExpression that represents getting
    // the value of the 'species' field of class 'Animal'.
    System.Linq.Expressions.MemberExpression memberExpression =
        System.Linq.Expressions.Expression.Field(
            System.Linq.Expressions.Expression.Constant(horse),
            "species");

    Console.WriteLine(memberExpression.ToString());

    // This code produces the following output:
    //
    // value(CodeSnippets.FieldExample+Animal).species
}
Class Animal
    Dim species As String
End Class

Shared Sub CreateFieldExpression()
    Dim horse As New Animal

    ' Create a MemberExpression that represents getting
    ' the value of the 'species' field of class 'Animal'.
    Dim memberExpression As System.Linq.Expressions.MemberExpression = _
        System.Linq.Expressions.Expression.Field( _
            System.Linq.Expressions.Expression.Constant(horse), _
            "species")

    Console.WriteLine(memberExpression.ToString())

    ' This code produces the following output:
    '
    ' value(ExpressionVB.FieldExample+Animal).species
End Sub

注解

Field使用 、 PropertyPropertyOrField 工厂方法创建 MemberExpression

NodeType 属性的MemberExpressionMemberAccess值为 。

属性

CanReduce

指示可将节点简化为更简单的节点。 如果返回 true,则可以调用 Reduce() 以生成简化形式。

(继承自 Expression)
Expression

获取字段或属性的包含对象。

Member

获取要访问的字段或属性。

NodeType

返回此 Expression 的节点类型。

NodeType

获取此 Expression 的节点类型。

(继承自 Expression)
Type

获取此 Expression 表示的表达式的静态类型。

(继承自 Expression)

方法

Accept(ExpressionVisitor)

调度到此节点类型的特定 Visit 方法。 例如,MethodCallExpression 调用 VisitMethodCall(MethodCallExpression)

Accept(ExpressionVisitor)

调度到此节点类型的特定 Visit 方法。 例如,MethodCallExpression 调用 VisitMethodCall(MethodCallExpression)

(继承自 Expression)
Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
Reduce()

将此节点简化为更简单的表达式。 如果 CanReduce 返回 true,则它应返回有效的表达式。 此方法可以返回本身必须简化的另一个节点。

(继承自 Expression)
ReduceAndCheck()

将此节点简化为更简单的表达式。 如果 CanReduce 返回 true,则它应返回有效的表达式。 此方法可以返回本身必须简化的另一个节点。

(继承自 Expression)
ReduceExtensions()

将表达式简化为已知节点类型(即非 Extension 节点)或仅在此类型为已知类型时返回表达式。

(继承自 Expression)
ToString()

返回 Expression 的的文本化表示形式。

(继承自 Expression)
Update(Expression)

创建一个新的表达式,它类似于此表达式,但使用所提供的子级。 如果所有子级均相同,它将返回此表达式。

VisitChildren(ExpressionVisitor)

简化节点,然后对简化的表达式调用访问者委托。 该方法在节点不可简化时引发异常。

(继承自 Expression)

适用于