Оператор IsTrue
Обновлен: Ноябрь 2007
Определяет, является ли выражение True.
Нельзя вызывать IsTrue явно в коде, но компилятор Visual Basic может использовать это для создания кода из предложений OrElse. Если определяется класс или структура, а затем используется переменная этого типа в предложении OrElse, необходимо определить IsTrue на этом классе или структуре.
Компилятор рассматривает операторы IsTrue и IsFalse как соответствующую пару. Это означает, что если определить один из них, необходимо также определить и другой.
Использование IsTrue компилятором
После определения класса или структуры можно использовать переменную этого типа в предложениях For, If, ElseIf, илиWhile или в условии When. После этого компилятор потребует оператор, который преобразует тип в значение Boolean, чтобы проверить условие. Он выполняет поиск подходящего оператора в следующем порядке:
Оператор расширяющего преобразования и класса или структуры для Boolean.
Оператор IsTrue Вашего класса или структуры.
Оператор сужающего преобразования в классе или структуре для Boolean.
Если не определены никакие преобразования в Boolean или оператор IsTrue, компилятор сообщает об ошибке.
![]() |
---|
Оператор 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
См. также
Задачи
Практическое руководство. Определение оператора