Поделиться через


Оператор IsTrue (Visual Basic)

Определяет, является ли выражение True.

Нельзя вызывать IsTrue явно в коде, но компилятор Visual Basic может использовать это для создания кода из предложений OrElse. Если определяется класс или структура, а затем используется переменная этого типа в предложении OrElse, необходимо определить IsTrue на этом классе или структуре.

Компилятор рассматривает операторы IsTrue и IsFalse как соответствующие пары . Это означает, что если определить один из них, необходимо также определить другой.

Использование IsTrue компилятором

После определения класса или структуры можно использовать переменную этого типа в предложениях For, If, Else If, илиWhile или в условии When. После этого компилятор потребует оператор, который преобразует тип в значение Boolean, чтобы проверить условие. Он выполняет поиск подходящего оператора в следующем порядке:

  1. Оператор расширяющего преобразования и класса или структуры для Boolean.

  2. Оператор расширяющего преобразования и класса или структуры для Boolean?.

  3. Оператор IsTrue Вашего класса или структуры.

  4. Сужающее преобразование в Boolean?, которое не включает преобразование из Boolean в Boolean?.

  5. Оператор сужающего преобразования в классе или структуре для Boolean.

Если не определены никакие преобразования в Boolean или оператор IsTrue, компилятор сообщает об ошибке.

Примечание

Оператор IsTrue может быть перегруженным , это означает, что класс или структура может переопределить его поведение, если его операнд имеет тип этого класса или структуры.Если в коде используется этот оператор для такого класса или структуры, убедитесь, что его переопределенное поведение вам понятно.Дополнительные сведения см. в разделе Процедуры операторов (Visual Basic).

Пример

В следующем примере кода определяется контур структуры, содержащей определения для операторов IsFalse и IsTrue.

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

См. также

Задачи

Практическое руководство. Определение оператора (Visual Basic)

Ссылки

Оператор IsFalse (Visual Basic)

Оператор OrElse (Visual Basic)