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 объект, представляющий преобразование ссылочных значений целочисленного выражения, не допускающего значения 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) |