UnaryExpression Класс

Определение

Представляет выражение с унарным оператором.

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, в тип целого числа, допускающего значение NULL.

// 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 определенного типа узла.

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

Кроме того, MakeUnary методы также можно использовать для создания UnaryExpression. Эти методы фабрики можно использовать для создания UnaryExpression любого типа узла, представляющего унарную операцию. Параметр этих методов, который имеет тип NodeType , указывает нужный тип узла.

Свойства

Имя Описание
CanReduce

Возвращает значение, указывающее, можно ли уменьшить узел дерева выражений.

IsLifted

Возвращает значение, указывающее, представляет ли узел дерева выражений вызов оператора.

IsLiftedToNull

Возвращает значение, указывающее, представляет ли узел дерева выражений вызов оператора, возвращаемый тип которого возвращается к типу NULL.

Method

Возвращает метод реализации для унарной операции.

NodeType

Возвращает тип узла этого Expressionтипа.

NodeType

Возвращает тип узла данного Expressionобъекта.

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

Возвращает операнду унарной операции.

Type

Возвращает статический тип выражения, представляющего это Expression выражение.

Type

Возвращает статический тип выражения, представляющего это Expression выражение.

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

Методы

Имя Описание
Accept(ExpressionVisitor)

Отправляется в конкретный метод посещения для этого типа узла. Например, MethodCallExpression вызывает объект VisitMethodCall(MethodCallExpression).

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

Определяет, равен ли указанный объект текущему объекту.

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

Служит хэш-функцией по умолчанию.

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

Возвращает Type текущего экземпляра.

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

Создает неглубокую копию текущей Object.

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

Уменьшает узел выражения до более простого выражения.

ReduceAndCheck()

Сокращает этот узел до более простого выражения. Если CanReduce возвращает значение true, это должно возвращать допустимое выражение. Этот метод может возвращать другой узел, который должен быть сокращен.

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

Уменьшает выражение до известного типа узла (который не является узлом расширения) или просто возвращает выражение, если оно уже известного типа.

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

Возвращает текстовое представление Expressionобъекта .

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

Создает новое выражение, аналогичное этому, но используя предоставленные дочерние элементы. Если все дочерние элементы одинаковы, он вернет это выражение.

VisitChildren(ExpressionVisitor)

Уменьшает узел, а затем вызывает делегат посетителя в сокращенном выражении. Метод создает исключение, если узел не является редуцируемым.

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

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