Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Określa, czy wyrażenie ma wartość True.
Nie można wywołać IsTrue jawnie kodu, ale kompilator języka Visual Basic może używać go do generowania kodu z OrElse klauzul. Jeśli zdefiniujesz klasę lub strukturę, a następnie użyjesz zmiennej tego typu w klauzuli OrElse , musisz zdefiniować IsTrue dla tej klasy lub struktury.
Kompilator traktuje IsTrue operatory i IsFalse jako dopasowaną parę. Oznacza to, że jeśli zdefiniujesz jedną z nich, musisz również zdefiniować drugą.
Użycie obiektu IsTrue przez kompilator
Po zdefiniowaniu klasy lub struktury można użyć zmiennej tego typu w Forinstrukcji , If, Else Iflub While w klauzuli When . Jeśli to zrobisz, kompilator wymaga operatora, który konwertuje typ na Boolean wartość, aby mógł przetestować warunek. Wyszukuje odpowiedni operator w następującej kolejności:
Operator konwersji rozszerzającej z klasy lub struktury na
Boolean.Operator konwersji rozszerzającej z klasy lub struktury na
Boolean?.Operator
IsTruew klasie lub strukturze.Konwersja zawężająca do
Boolean?elementu nie obejmuje konwersji zBooleannaBoolean?.Operator konwersji zawężającej z klasy lub struktury do
Booleanklasy .
Jeśli nie zdefiniowano żadnej konwersji na Boolean operator lub IsTrue operatora, kompilator sygnalizuje błąd.
Uwaga / Notatka
IsTrue Operator może być przeciążony, co oznacza, że klasa lub struktura może ponownie zdefiniować jego zachowanie, gdy operand ma typ tej klasy lub struktury. Jeśli kod używa tego operatora w takiej klasie lub strukturze, upewnij się, że rozumiesz jego ponownie zdefiniowane zachowanie. Aby uzyskać więcej informacji, zobacz Procedury operatorów.
Przykład
Poniższy przykład kodu definiuje konspekt struktury zawierającej definicje operatorów IsFalse i 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