IsTrue 연산자(Visual Basic)

식이 True인지 여부를 판별합니다.

코드에서 명시적으로 IsTrue를 호출할 수는 없지만 Visual Basic 컴파일러는 이를 사용하여 OrElse 절에서 코드를 생성할 수 있습니다. 클래스 또는 구조체를 정의한 다음 OrElse 절에서 해당 형식의 변수를 사용하는 경우 해당 클래스 또는 구조에 대해 IsTrue를 정의해야 합니다.

컴파일러는 IsTrueIsFalse 연산자를 일치하는 쌍으로 간주합니다. 이는 둘 중 하나를 정의하면 다른 것도 정의해야 함을 의미합니다.

IsTrue의 컴파일러 사용

클래스 또는 구조를 정의한 경우 For, If, Else If 또는 While 문 또는 When 절에서 해당 형식의 변수를 사용할 수 있습니다. 이렇게 하면 컴파일러에서 조건을 테스트할 수 있도록 형식을 Boolean 값으로 변환하는 연산자가 필요합니다. 다음 순서로 적합한 연산자를 검색합니다.

  1. 클래스 또는 구조체에서 Boolean로의 확대 변환 연산자입니다.

  2. 클래스 또는 구조체에서 Boolean?로의 확대 변환 연산자입니다.

  3. 클래스 또는 구조체의 IsTrue 연산자입니다.

  4. Boolean에서 Boolean?으로의 변환을 포함하지 않는 Boolean?로의 축소 변환입니다.

  5. 클래스 또는 구조체에서 Boolean로의 축소 변환 연산자입니다.

Boolean 또는 IsTrue 연산자에 대한 변환을 정의하지 않은 경우 컴파일러는 오류를 알릴 수 있습니다.

참고 항목

IsTrue 연산자는 오버로드될 수 있습니다. 즉, 해당 피연산자에 해당 클래스 또는 구조체의 형식이 있을 때 클래스 또는 구조체가 해당 동작을 다시 정의할 수 있습니다. 코드에서 이러한 클래스나 구조체에 대해 이 연산자를 사용하는 경우 재정의된 동작을 이해해야 합니다. 자세한 내용은 Operator Procedures을 참조하세요.

예시

다음 코드 예는 IsFalseIsTrue 연산자에 대한 정의를 포함하는 구조체의 개요를 정의합니다.

Public Structure p
    Dim a As Double
    Public Shared Operator IsFalse(ByVal w As p) As Boolean
        Dim b As Boolean
        ' Insert code to calculate IsFalse of w.
        Return b
    End Operator
    Public Shared Operator IsTrue(ByVal w As p) As Boolean
        Dim b As Boolean
        ' Insert code to calculate IsTrue of w.
        Return b
    End Operator
End Structure

참고 항목