UnaryExpression Класс

Определение

Представляет выражение, содержащее унарный оператор.Represents an expression that has a unary operator.

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

Примеры

В следующем примере создается UnaryExpression объект, представляющий преобразование ссылки для целочисленного выражения, не допускающего значения NULL, в целочисленный тип Nullable.The following example creates a UnaryExpression object that represents the reference conversion of a non-nullable integer expression to the nullable integer type.

// Create a UnaryExpression that represents a
// conversion of an int to an int?.
System.Linq.Expressions.UnaryExpression typeAsExpression =
    System.Linq.Expressions.Expression.TypeAs(
        System.Linq.Expressions.Expression.Constant(34, typeof(int)),
        typeof(int?));

Console.WriteLine(typeAsExpression.ToString());

// This code produces the following output:
//
// (34 As Nullable`1)
' Create a UnaryExpression that represents a reference
' conversion of an Integer to an Integer? (a nullable Integer).
Dim typeAsExpression As System.Linq.Expressions.UnaryExpression = _
    System.Linq.Expressions.Expression.TypeAs( _
        System.Linq.Expressions.Expression.Constant(34, Type.GetType("System.Int32")), _
        Type.GetType("System.Nullable`1[System.Int32]"))

Console.WriteLine(typeAsExpression.ToString())

' This code produces the following output:
'
' (34 As Nullable`1)

Комментарии

В следующей таблице перечислены заводские методы, которые можно использовать для создания UnaryExpression с конкретным типом узла.The following table summarizes the factory methods that can be used to create a UnaryExpression that has a specific node type.

NodeType Фабричный методFactory Method
ArrayLength ArrayLength
Convert Convert
ConvertChecked ConvertChecked
Negate Negate
NegateChecked NegateChecked
Not Not
Quote Quote
TypeAs TypeAs
UnaryPlus UnaryPlus

Кроме того, MakeUnary методы можно использовать для UnaryExpressionсоздания.In addition, the MakeUnary methods can also be used to create a UnaryExpression. Эти заводские методы можно использовать для создания UnaryExpression любого типа узла, представляющего унарную операцию.These factory methods can be used to create a UnaryExpression of any node type that represents a unary operation. Параметр этих методов типа NodeType указывает требуемый тип узла.The parameter of these methods that is of type NodeType specifies the desired node type.

Свойства

CanReduce

Возвращает значение, указывающее, можно ли сократить узел дерева выражений.Gets a value that indicates whether the expression tree node can be reduced.

IsLifted

Возвращает значение, указывающее, представляет ли узел дерева выражения ликвидированный вызов оператора.Gets a value that indicates whether the expression tree node represents a lifted call to an operator.

IsLiftedToNull

Возвращает значение, указывающее, представляет ли узел дерева выражения ликвидированный вызов оператора, тип возврата которого удален для типа со значением NULL.Gets a value that indicates whether the expression tree node represents a lifted call to an operator whose return type is lifted to a nullable type.

Method

Получает реализацию метода для унарной операции.Gets the implementing method for the unary operation.

NodeType

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

Operand

Получает операнд унарной операции.Gets the operand of the unary operation.

Type

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

Методы

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 the expression node to a simpler 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)

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