UnaryExpression Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Representa uma expressão que possui um operador unário.
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
- Herança
Exemplos
O exemplo seguinte cria um UnaryExpression objeto que representa a conversão de referência de uma expressão inteira não anulável para o tipo inteiro anulável.
// 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)
Observações
A tabela seguinte resume os métodos de fábrica que podem ser usados para criar um UnaryExpression que tenha um tipo específico de nó.
| NodeType | Método de fábrica |
|---|---|
| ArrayLength | ArrayLength |
| Convert | Convert |
| ConvertChecked | ConvertChecked |
| Negate | Negate |
| NegateChecked | NegateChecked |
| Not | Not |
| Quote | Quote |
| TypeAs | TypeAs |
| UnaryPlus | UnaryPlus |
Além disso, os MakeUnary também podem ser usados para criar um UnaryExpression. Estes métodos de fábrica podem ser usados para criar um UnaryExpression de qualquer tipo de nó que represente uma operação unária. O parâmetro desses métodos que é do tipo NodeType especifica o tipo de nó desejado.
Propriedades
| Name | Description |
|---|---|
| CanReduce |
Obtém um valor que indica se o nó da árvore de expressões pode ser reduzido. |
| IsLifted |
Obtém um valor que indica se o nó da árvore de expressões representa uma chamada elevada para um operador. |
| IsLiftedToNull |
Obtém um valor que indica se o nó da árvore de expressões representa uma chamada elevada para um operador cujo tipo de retorno é elevado para um tipo anulável. |
| Method |
Obtém o método de implementação para a operação unária. |
| NodeType |
Devolve o tipo de nó deste Expression. |
| NodeType |
Obtém o tipo de nó deste Expression. (Herdado de Expression) |
| Operand |
Percebe o operando da operação unária. |
| Type |
Obtém o tipo estático da expressão que isto Expression representa. |
| Type |
Obtém o tipo estático da expressão que isto Expression representa. (Herdado de Expression) |
Métodos
| Name | Description |
|---|---|
| Accept(ExpressionVisitor) |
Despacha para o método de visita específico para este tipo de nó. Por exemplo, MethodCallExpression chama o VisitMethodCall(MethodCallExpression). (Herdado de Expression) |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| Reduce() |
Reduz o nó de expressão a uma expressão mais simples. |
| ReduceAndCheck() |
Reduz este nó a uma expressão mais simples. Se o CanReduce devolver verdadeiro, isto deverá devolver uma expressão válida. Este método pode devolver outro nó que, por sua vez, deve ser reduzido. (Herdado de Expression) |
| ReduceExtensions() |
Reduz a expressão para um tipo de nó conhecido (que não é um nó de Extensão) ou simplesmente devolve a expressão se já for um tipo conhecido. (Herdado de Expression) |
| ToString() |
Devolve uma representação textual do Expression. (Herdado de Expression) |
| Update(Expression) |
Cria uma nova expressão semelhante a esta, mas usando os filhos fornecidos. Se todas as crianças forem iguais, ela devolverá essa expressão. |
| VisitChildren(ExpressionVisitor) |
Reduz o nó e depois chama o delegado visitante na expressão reduzida. O método lança uma exceção se o nó não for redutível. (Herdado de Expression) |