UnaryExpression Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta un'espressione con un operatore unario.
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
- Ereditarietà
Esempio
Nell'esempio seguente viene creato un UnaryExpression oggetto che rappresenta la conversione di riferimento di un'espressione integer non nullable nel tipo integer nullable.
// 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)
Commenti
Nella tabella seguente vengono riepilogati i metodi factory che possono essere usati per creare un UnaryExpression oggetto con un tipo di nodo specifico.
| NodeType | Metodo Factory |
|---|---|
| ArrayLength | ArrayLength |
| Convert | Convert |
| ConvertChecked | ConvertChecked |
| Negate | Negate |
| NegateChecked | NegateChecked |
| Not | Not |
| Quote | Quote |
| TypeAs | TypeAs |
| UnaryPlus | UnaryPlus |
Inoltre, i MakeUnary metodi possono essere usati anche per creare un oggetto UnaryExpression. Questi metodi factory possono essere usati per creare un UnaryExpression oggetto di qualsiasi tipo di nodo che rappresenta un'operazione unaria. Il parametro di questi metodi di tipo NodeType specifica il tipo di nodo desiderato.
Proprietà
| Nome | Descrizione |
|---|---|
| CanReduce |
Ottiene un valore che indica se il nodo dell'albero delle espressioni può essere ridotto. |
| IsLifted |
Ottiene un valore che indica se il nodo dell'albero delle espressioni rappresenta una chiamata lifted a un operatore. |
| IsLiftedToNull |
Ottiene un valore che indica se il nodo dell'albero delle espressioni rappresenta una chiamata lifted a un operatore il cui tipo restituito viene sollevato su un tipo nullable. |
| Method |
Ottiene il metodo di implementazione per l'operazione unaria. |
| NodeType |
Restituisce il tipo di nodo dell'oggetto Expression. |
| NodeType |
Ottiene il tipo di nodo dell'oggetto Expression. (Ereditato da Expression) |
| Operand |
Ottiene l'operando dell'operazione unaria. |
| Type |
Ottiene il tipo statico dell'espressione rappresentata da .Expression |
| Type |
Ottiene il tipo statico dell'espressione rappresentata da .Expression (Ereditato da Expression) |
Metodi
| Nome | Descrizione |
|---|---|
| Accept(ExpressionVisitor) |
Invia al metodo visit specifico per questo tipo di nodo. Ad esempio, MethodCallExpression chiama .VisitMethodCall(MethodCallExpression) (Ereditato da Expression) |
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| Reduce() |
Riduce il nodo dell'espressione a un'espressione più semplice. |
| ReduceAndCheck() |
Riduce questo nodo a un'espressione più semplice. Se CanReduce restituisce true, verrà restituita un'espressione valida. Questo metodo può restituire un altro nodo che deve essere ridotto. (Ereditato da Expression) |
| ReduceExtensions() |
Riduce l'espressione a un tipo di nodo noto (che non è un nodo di estensione) o restituisce semplicemente l'espressione se è già un tipo noto. (Ereditato da Expression) |
| ToString() |
Restituisce una rappresentazione testuale dell'oggetto Expression. (Ereditato da Expression) |
| Update(Expression) |
Crea una nuova espressione simile a questa, ma utilizzando gli elementi figlio forniti. Se tutti gli elementi figlio sono uguali, restituirà questa espressione. |
| VisitChildren(ExpressionVisitor) |
Riduce il nodo e quindi chiama il delegato visitor nell'espressione ridotta. Il metodo genera un'eccezione se il nodo non è reducibile. (Ereditato da Expression) |