Expression.UnaryPlus Método

Definición

Crea un objeto UnaryExpression que representa una operación unaria más.

Sobrecargas

UnaryPlus(Expression, MethodInfo)

Crea un objeto UnaryExpression que representa una operación unaria más.

UnaryPlus(Expression)

Crea un objeto UnaryExpression que representa una operación unaria más.

UnaryPlus(Expression, MethodInfo)

Crea un objeto UnaryExpression que representa una operación unaria más.

public:
 static System::Linq::Expressions::UnaryExpression ^ UnaryPlus(System::Linq::Expressions::Expression ^ expression, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.UnaryExpression UnaryPlus (System.Linq.Expressions.Expression expression, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.UnaryExpression UnaryPlus (System.Linq.Expressions.Expression expression, System.Reflection.MethodInfo? method);
static member UnaryPlus : System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.UnaryExpression
Public Shared Function UnaryPlus (expression As Expression, method As MethodInfo) As UnaryExpression

Parámetros

expression
Expression

Objeto Expression en el que se va a establecer la propiedad Operand.

method
MethodInfo

MethodInfo en el que se va a establecer la propiedad Method.

Devoluciones

UnaryExpression

UnaryExpression cuya propiedad NodeType es UnaryPlus y cuyas propiedades Operand y Method se establecen en los valores especificados.

Excepciones

expression es null.

method no es null y el método que representa devuelve void, no es static (Shared en Visual Basic) o no toma exactamente un argumento.

method es null y no hay ningún operador unario más definido para expression.Type.

o bien expression.Type (o su correspondiente tipo que no acepta valores null si se trata de un tipo de valor que acepta valores null) no puede asignarse al tipo de argumento del método representado por method.

Comentarios

La Method propiedad del resultado UnaryExpression se establece en el método de implementación. La Type propiedad se establece en el tipo del nodo. Si se levanta el nodo, las IsLifted propiedades y IsLiftedToNull son true. De lo contrario, son false.

Método de implementación

Las reglas siguientes determinan el método de implementación para la operación:

  • Si method no null es y representa un método no void( static``Shared en Visual Basic) que toma un argumento, es el método de implementación para el nodo.

  • Si expressiones . El tipo es un tipo definido por el usuario que define el operador unario más, que MethodInfo representa ese operador es el método de implementación.

  • De lo contrario, si expressiones . El tipo es un tipo numérico, el método de implementación es null.

Tipo de nodo y elevación frente a no elevado

Si el método de implementación no nulles :

  • Si expressiones . El tipo se puede asignar al tipo de argumento del método de implementación, el nodo no se levanta. El tipo del nodo es el tipo de valor devuelto del método de implementación.

  • Si se cumplen las dos condiciones siguientes, se levanta el nodo y el tipo del nodo es el tipo que acepta valores NULL que corresponde al tipo de valor devuelto del método de implementación:

    • expression. El tipo es un tipo de valor que acepta valores NULL y el tipo de valor que no acepta valores NULL correspondiente es igual al tipo de argumento del método de implementación.

    • El tipo de valor devuelto del método de implementación es un tipo de valor que no acepta valores NULL.

Si el método de implementación es null, el tipo del nodo es expression. Tipo. Si expressiones . El tipo no acepta valores NULL, el nodo no se levanta. De lo contrario, se levanta el nodo.

Se aplica a

UnaryPlus(Expression)

Crea un objeto UnaryExpression que representa una operación unaria más.

public:
 static System::Linq::Expressions::UnaryExpression ^ UnaryPlus(System::Linq::Expressions::Expression ^ expression);
public static System.Linq.Expressions.UnaryExpression UnaryPlus (System.Linq.Expressions.Expression expression);
static member UnaryPlus : System.Linq.Expressions.Expression -> System.Linq.Expressions.UnaryExpression
Public Shared Function UnaryPlus (expression As Expression) As UnaryExpression

Parámetros

expression
Expression

Objeto Expression en el que se va a establecer la propiedad Operand.

Devoluciones

UnaryExpression

UnaryExpression cuya propiedad NodeType es UnaryPlus y cuya propiedad Operand se establece en el valor especificado.

Excepciones

expression es null.

No hay ningún operador unario más definido para expression.Type.

Comentarios

La Method propiedad del resultado UnaryExpression se establece en el método de implementación. La Type propiedad se establece en el tipo del nodo. Si se levanta el nodo, las IsLifted propiedades y IsLiftedToNull son true. De lo contrario, son false.

Método de implementación

Las reglas siguientes determinan el método de implementación para la operación:

  • Si expressiones . El tipo es un tipo definido por el usuario que define el operador unario más, que MethodInfo representa ese operador es el método de implementación.

  • De lo contrario, si expressiones . El tipo es un tipo numérico, el método de implementación es null.

Tipo de nodo y elevación frente a no elevado

Si el método de implementación no nulles :

  • Si expressiones . El tipo se puede asignar al tipo de argumento del método de implementación, el nodo no se levanta. El tipo del nodo es el tipo de valor devuelto del método de implementación.

  • Si se cumplen las dos condiciones siguientes, se levanta el nodo y el tipo del nodo es el tipo que acepta valores NULL que corresponde al tipo de valor devuelto del método de implementación:

    • expression. El tipo es un tipo de valor que acepta valores NULL y el tipo de valor que no acepta valores NULL correspondiente es igual al tipo de argumento del método de implementación.

    • El tipo de valor devuelto del método de implementación es un tipo de valor que no acepta valores NULL.

Si el método de implementación es null, el tipo del nodo es expression. Tipo. Si expressiones . El tipo no acepta valores NULL, el nodo no se levanta. De lo contrario, se levanta el nodo.

Se aplica a