UnaryExpression Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje výraz, který má unární operátor.
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
- Dědičnost
Příklady
Následující příklad vytvoří UnaryExpression objekt, který představuje odkaz převod nenulovatelné celočíselného výrazu na celočíselný typ s možnou hodnotou 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)
Poznámky
Následující tabulka shrnuje metody továrny, které lze použít k vytvoření UnaryExpression konkrétního typu uzlu.
| NodeType | Metoda továrny |
|---|---|
| ArrayLength | ArrayLength |
| Convert | Convert |
| ConvertChecked | ConvertChecked |
| Negate | Negate |
| NegateChecked | NegateChecked |
| Not | Not |
| Quote | Quote |
| TypeAs | TypeAs |
| UnaryPlus | UnaryPlus |
Kromě toho lze metody MakeUnary použít také k vytvoření UnaryExpression. Tyto metody továrny lze použít k vytvoření UnaryExpression libovolného typu uzlu, který představuje unární operaci. Parametr těchto metod, který je typu NodeType , určuje požadovaný typ uzlu.
Vlastnosti
| Name | Description |
|---|---|
| CanReduce |
Získá hodnotu, která označuje, zda je možné snížit uzel stromu výrazu. |
| IsLifted |
Získá hodnotu, která označuje, zda uzel stromu výrazu představuje zvedané volání operátoru. |
| IsLiftedToNull |
Získá hodnotu, která označuje, zda stromový uzel výrazu představuje lifted volání operátor, jehož návratový typ je zvednut do typu nullable. |
| Method |
Získá implementční metodu pro unární operaci. |
| NodeType |
Vrátí typ uzlu tohoto Expression. |
| NodeType |
Získá typ uzlu tohoto Expression. (Zděděno od Expression) |
| Operand |
Získá operand unární operace. |
| Type |
Získá statický typ výrazu, který představuje Expression . |
| Type |
Získá statický typ výrazu, který představuje Expression . (Zděděno od Expression) |
Metody
| Name | Description |
|---|---|
| Accept(ExpressionVisitor) |
Odešle konkrétní metodu návštěvy pro tento typ uzlu. MethodCallExpression Například volá .VisitMethodCall(MethodCallExpression) (Zděděno od Expression) |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| Reduce() |
Zmenší uzel výrazu na jednodušší výraz. |
| ReduceAndCheck() |
Zmenší tento uzel na jednodušší výraz. Pokud CanReduce vrátí hodnotu true, měl by vrátit platný výraz. Tato metoda může vrátit jiný uzel, který se musí snížit. (Zděděno od Expression) |
| ReduceExtensions() |
Zmenšuje výraz na známý typ uzlu (který není uzel rozšíření), nebo pouze vrátí výraz, pokud je již známým typem. (Zděděno od Expression) |
| ToString() |
Vrátí textovou reprezentaci Expression. (Zděděno od Expression) |
| Update(Expression) |
Vytvoří nový výraz, který je podobný tomuto, ale použije zadané podřízené položky. Pokud jsou všechny podřízené položky stejné, vrátí tento výraz. |
| VisitChildren(ExpressionVisitor) |
Zmenší uzel a potom zavolá delegáta návštěvníka na zkrácený výraz. Metoda vyvolá výjimku, pokud uzel není reducible. (Zděděno od Expression) |