Expression.Negate 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
산술 부정 연산을 나타내는 UnaryExpression을 만듭니다.
오버로드
Negate(Expression, MethodInfo) |
산술 부정 연산을 나타내는 UnaryExpression을 만듭니다. |
Negate(Expression) |
산술 부정 연산을 나타내는 UnaryExpression을 만듭니다. |
Negate(Expression, MethodInfo)
- Source:
- UnaryExpression.cs
- Source:
- UnaryExpression.cs
- Source:
- UnaryExpression.cs
산술 부정 연산을 나타내는 UnaryExpression을 만듭니다.
public:
static System::Linq::Expressions::UnaryExpression ^ Negate(System::Linq::Expressions::Expression ^ expression, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.UnaryExpression Negate (System.Linq.Expressions.Expression expression, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.UnaryExpression Negate (System.Linq.Expressions.Expression expression, System.Reflection.MethodInfo? method);
static member Negate : System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.UnaryExpression
Public Shared Function Negate (expression As Expression, method As MethodInfo) As UnaryExpression
매개 변수
- expression
- Expression
Expression 속성에 설정할 Operand입니다.
- method
- MethodInfo
MethodInfo 속성에 설정할 Method입니다.
반환
UnaryExpression 속성이 NodeType이고 Negate 및 Operand 속성이 지정된 값으로 설정된 Method입니다.
예외
expression
이(가) null
인 경우
method
가 null
이 아니고 이것이 나타내는 메서드가 void
를 반환하거나, static
(Visual Basic의 경우 Shared
)이 아니거나, 정확하게 하나의 인수를 사용하지 않는 경우
method
가 null
이고 expression
.Type에 단항 빼기 연산자가 정의되지 않은 경우
또는
expression
.Type 또는 이 형식이 nullable 값 형식인 경우 nullable이 아닌 해당 형식을 method
가 나타내는 메서드의 인수 형식에 할당할 수 없는 경우
설명
Method 결과 UnaryExpression 의 속성은 구현 메서드로 설정됩니다. 속성은 Type 노드의 형식으로 설정됩니다. 노드가 해제되면 및 IsLiftedToNull 속성은 IsLifted 모두 true
입니다. 그렇지 않으면 false입니다.
구현 방법
다음 규칙은 작업에 대한 구현 메서드를 결정합니다.
가 이 아니고 하나의 인수를 사용하는 void
static
가 아닌null
(Shared
Visual Basic의 경우) 메서드를 나타내는 경우method
노드에 대한 구현 메서드입니다.인 경우
expression
Type은 단항 빼기 연산자를 정의하는 사용자 정의 형식으로, MethodInfo 해당 연산자를 나타내는 는 구현 메서드입니다.그렇지 않으면 이고, 인 경우 입니다
expression
. 형식은 숫자 형식이고 구현 메서드는 입니다null
.
노드 유형 및 해제됨 및 해제되지 않은 노드
구현 메서드가 이 아닌 null
경우:
인 경우
expression
형식은 구현 메서드의 인수 형식에 할당할 수 있으며 노드는 해제되지 않습니다. 노드의 형식은 구현 메서드의 반환 형식입니다.다음 두 조건이 충족되면 노드가 해제되고 노드의 형식은 구현 메서드의 반환 형식에 해당하는 null 허용 형식입니다.
expression
. 형식은 nullable 값 형식이고 해당 nullable이 아닌 값 형식은 구현 메서드의 인수 형식과 같습니다.구현 메서드의 반환 형식은 null을 허용하지 않는 값 형식입니다.
구현 메서드가 이 null
면 노드의 형식은 입니다 expression
. 형식. 인 경우 expression
형식이 nullable이 아니고 노드가 해제되지 않습니다. 그렇지 않으면 노드가 해제됩니다.
적용 대상
Negate(Expression)
- Source:
- UnaryExpression.cs
- Source:
- UnaryExpression.cs
- Source:
- UnaryExpression.cs
산술 부정 연산을 나타내는 UnaryExpression을 만듭니다.
public:
static System::Linq::Expressions::UnaryExpression ^ Negate(System::Linq::Expressions::Expression ^ expression);
public static System.Linq.Expressions.UnaryExpression Negate (System.Linq.Expressions.Expression expression);
static member Negate : System.Linq.Expressions.Expression -> System.Linq.Expressions.UnaryExpression
Public Shared Function Negate (expression As Expression) As UnaryExpression
매개 변수
- expression
- Expression
Expression 속성에 설정할 Operand입니다.
반환
UnaryExpression 속성이 NodeType이고 Negate 속성이 지정된 값으로 설정된 Operand입니다.
예외
expression
이(가) null
인 경우
expression
.Type에 단항 빼기 연산자가 정의되지 않은 경우
예제
다음 예제에서는 산술 부정 연산을 나타내는 식을 만드는 방법을 보여 줍니다.
// Add the following directive to your file:
// using System.Linq.Expressions;
// This expression represents a negation operation.
Expression negateExpr = Expression.Negate(Expression.Constant(5));
// The following statement first creates an expression tree,
// then compiles it, and then runs it.
Console.WriteLine(Expression.Lambda<Func<int>>(negateExpr).Compile()());
// This code example produces the following output:
//
// -5
' Add the following directive to your file:
' Imports System.Linq.Expressions
' This expression represents a negation operation.
Dim negateExpr As Expression = Expression.Negate(Expression.Constant(5))
' The following statement first creates an expression tree,
' then compiles it, and then runs it.
Console.WriteLine(Expression.Lambda(Of Func(Of Integer))(negateExpr).Compile()())
' This code example produces the following output:
'
' -5
설명
Method 결과 UnaryExpression 의 속성은 구현 메서드로 설정됩니다. 속성은 Type 노드의 형식으로 설정됩니다. 노드가 해제되면 및 IsLiftedToNull 속성은 IsLifted 모두 true
입니다. 그렇지 않으면 false입니다.
구현 방법
다음 규칙은 작업에 대한 구현 메서드를 결정합니다.
인 경우
expression
Type은 단항 빼기 연산자를 정의하는 사용자 정의 형식으로, MethodInfo 해당 연산자를 나타내는 는 구현 메서드입니다.그렇지 않으면 이고, 인 경우 입니다
expression
. 형식은 숫자 형식이고 구현 메서드는 입니다null
.
노드 유형 및 해제됨 및 해제되지 않은 노드
구현 메서드가 이 아닌 null
경우:
인 경우
expression
형식은 구현 메서드의 인수 형식에 할당할 수 있으며 노드는 해제되지 않습니다. 노드의 형식은 구현 메서드의 반환 형식입니다.다음 두 조건이 충족되면 노드가 해제되고 노드의 형식은 구현 메서드의 반환 형식에 해당하는 null 허용 형식입니다.
expression
. 형식은 nullable 값 형식이고 해당 nullable이 아닌 값 형식은 구현 메서드의 인수 형식과 같습니다.구현 메서드의 반환 형식은 null을 허용하지 않는 값 형식입니다.
구현 메서드가 이 null
면 노드의 형식은 입니다 expression
. 형식. 인 경우 expression
형식이 nullable이 아니고 노드가 해제되지 않습니다. 그렇지 않으면 노드가 해제됩니다.
적용 대상
.NET