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