다음을 통해 공유


System.Linq.Expressions.Expression.Add 메서드

이 문서는 이 API에 대한 참조 설명서를 보충하는 추가 설명을 제공합니다.

Add 메서드는 BinaryExpression 속성이 구현 메서드로 설정된 Method를 반환합니다. 속성 Type 은 노드의 형식으로 설정됩니다. 노드가 해제되면 IsLifted 속성과 IsLiftedToNull 속성은 둘 다 true입니다. 그렇지 않으면 다음과 같습니다 false. IsEditable 속성은 true입니다.

다음 정보는 구현 방법, 노드 형식 및 노드 해제 여부를 설명합니다.

구현 방법

다음 규칙은 작업에 대해 선택한 구현 방법을 결정합니다.

  • Type 또는 left 중 하나의 속성이 더하기 연산자를 오버로드하는 사용자 정의 형식을 나타내는 경우, 해당 메서드를 나타내는 right는 구현 메서드입니다.
  • 그렇지 않으면, left.Type와 right.Type이 숫자 형식이고, 구현 메서드는 null입니다.

노드 유형 및 해제된 노드 및 해제되지 않은 노드

구현 메서드가 아닌 null경우:

  • 이면 left 형식 및 right. 형식은 구현 메서드의 해당 인수 형식에 할당할 수 있으며 노드는 해제되지 않습니다. 노드의 형식은 구현 메서드의 반환 형식입니다.

  • 다음 두 조건이 충족되면 노드가 해제되고 노드 형식은 구현 메서드의 반환 형식에 해당하는 null 허용 형식입니다.

    • left.Type 및 right.Type은 둘 다 값 형식으로, 그 중 적어도 하나가 null을 허용하며, 이에 대응하는 nullable이 아닌 형식이 구현 메서드의 해당 인수 형식과 동일합니다.
    • 구현 메서드의 반환 형식은 null을 허용하지 않는 값 형식입니다.

구현 메서드가 다음과 같은 경우:null

  • left. 형식 및 right.형식 둘 다 null을 허용하지 않는 경우, 노드는 리프팅되지 않습니다. 노드의 형식은 미리 정의된 더하기 연산자의 결과 형식입니다.
  • left.Type과 right.Type이 둘 다 null 허용이면, 노드는 올려집니다. 노드의 형식은 미리 정의된 더하기 연산자의 결과 형식에 해당하는 nullable 형식입니다.