MemberExpression Класс

Определение

Представляет доступ к полю или свойству.Represents accessing a field or property.

public ref class MemberExpression : System::Linq::Expressions::Expression
public class MemberExpression : System.Linq.Expressions.Expression
type MemberExpression = class
    inherit Expression
Public Class MemberExpression
Inherits Expression
Наследование
MemberExpression

Примеры

В следующем примере создается объект MemberExpression , представляющий получение значения элемента Field.The following example creates a MemberExpression that represents getting the value of a field member.

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

Комментарии

Используйте фабричные Property методы PropertyOrField , или для создания MemberExpression. FieldUse the Field, Property or PropertyOrField factory methods to create a MemberExpression.

Значение NodeType свойства MemberExpression объекта равноMemberAccess.The value of the NodeType property of a MemberExpression is MemberAccess.

Свойства

CanReduce

Указывает, что узел можно сократить до более простого.Indicates that the node can be reduced to a simpler node. Если возвращается значение true, для получения сокращенной формы можно вызвать Reduce().If this returns true, Reduce() can be called to produce the reduced form.

(Унаследовано от Expression)
Expression

Получает содержащийся объект поля или свойства.Gets the containing object of the field or property.

Member

Получает поле или свойство для доступа.Gets the field or property to be accessed.

NodeType

Возвращает тип узла данного выражения Expression.Returns the node type of this Expression.

Type

Получает статичный тип выражения, представленного этим выражением Expression.Gets the static type of the expression that this Expression represents.

(Унаследовано от Expression)

Методы

Accept(ExpressionVisitor)

Отправляет в конкретный метод Visit для данного типа узла.Dispatches to the specific visit method for this node type. Например, объект MethodCallExpression вызывает метод VisitMethodCall(MethodCallExpression).For example, MethodCallExpression calls the VisitMethodCall(MethodCallExpression).

Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
Reduce()

Преобразует данный узел в более простое выражение.Reduces this node to a simpler expression. Если CanReduce возвращает значение true, данный метод должен вернуть допустимое выражение.If CanReduce returns true, this should return a valid expression. Данный метод может вернуть другой узел, который нужно будет преобразовать еще раз.This method can return another node which itself must be reduced.

(Унаследовано от Expression)
ReduceAndCheck()

Преобразует данный узел в более простое выражение.Reduces this node to a simpler expression. Если CanReduce возвращает значение true, данный метод должен вернуть допустимое выражение.If CanReduce returns true, this should return a valid expression. Данный метод может вернуть другой узел, который нужно будет преобразовать еще раз.This method can return another node which itself must be reduced.

(Унаследовано от Expression)
ReduceExtensions()

Упрощает выражение до известного типа узла (не являющегося узлом Extension) или возвращает выражение, если оно имеет известный тип.Reduces the expression to a known node type (that is not an Extension node) or just returns the expression if it is already a known type.

(Унаследовано от Expression)
ToString()

Возвращает текстовое представление текущего объекта Expression.Returns a textual representation of the Expression.

(Унаследовано от Expression)
Update(Expression)

Создает новое выражение, идентичное данному, но использующее предоставленные дочерние элементы.Creates a new expression that is like this one, but using the supplied children. Если все дочерние элементы идентичны, возвращается данное выражение.If all of the children are the same, it will return this expression.

VisitChildren(ExpressionVisitor)

Упрощает узел и вызывает делегат-посетитель для преобразованного выражения.Reduces the node and then calls the visitor delegate on the reduced expression. Данный метод создает исключение, если узел невозможно упростить.The method throws an exception if the node is not reducible.

(Унаследовано от Expression)

Применяется к