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