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


Оператор IsTrue

Обновлен: Ноябрь 2007

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

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

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

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

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

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

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

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

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

93xa16x4.alert_note(ru-ru,VS.90).gifПримечание.

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

Пример

В следующем примере кода определяется контур структуры, содержащей определения для операторов 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

См. также

Задачи

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

Ссылки

Оператор IsFalse

Оператор OrElse