TypeBinaryExpression Класс

Определение

Представляет операцию между выражением и типом.Represents an operation between an expression and a type.

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

Примеры

В следующем примере создается TypeBinaryExpression объект, представляющий проверку типа строкового значения по Int32 типу.The following example creates a TypeBinaryExpression object that represents a type test of a string value against the Int32 type.

// Create a TypeBinaryExpression that represents a
// type test of the string "spruce" against the 'int' type.
System.Linq.Expressions.TypeBinaryExpression typeBinaryExpression =
    System.Linq.Expressions.Expression.TypeIs(
        System.Linq.Expressions.Expression.Constant("spruce"),
        typeof(int));

Console.WriteLine(typeBinaryExpression.ToString());

// This code produces the following output:
//
// ("spruce" Is Int32)
' Create a TypeBinaryExpression that represents a
' type test of the String "spruce" against the Int32 type.
Dim typeBinaryExpression As System.Linq.Expressions.TypeBinaryExpression = _
    System.Linq.Expressions.Expression.TypeIs( _
        System.Linq.Expressions.Expression.Constant("spruce"), _
        Type.GetType("System.Int32"))

Console.WriteLine(typeBinaryExpression.ToString())

' This code produces the following output:
'
' ("spruce" Is Int32)

Комментарии

Проверка типа — это пример операции между выражением и типом.A type test is an example of an operation between an expression and a type.

Используйте метод TypeBinaryExpressionFactory для создания. TypeIsUse the TypeIs factory method to create a TypeBinaryExpression.

NodeType СвойствоTypeBinaryExpression объекта имеетTypeIsзначение.The value of the NodeType property of a TypeBinaryExpression object is TypeIs.

Свойства

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 expression operand of a type test operation.

NodeType

Возвращает тип узла для данного выражения.Returns the node type of this Expression. При переопределении этого метода узлы расширения должны возвращать Extension.Extension nodes should return Extension when overriding this method.

Type

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

TypeOperand

Получает операнд типа операции проверки типа.Gets the type operand of a type test operation.

Методы

Accept(ExpressionVisitor)

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

(Унаследовано от Expression)
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)

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