Megosztás a következőn keresztül:


IsTrue operátor (Visual Basic)

Meghatározza, hogy egy kifejezés szerepel-e a fájlban True.

A kódban nem hívható IsTrue meg explicit módon, de a Visual Basic fordítója használhatja a záradékokból származó OrElse kód létrehozásához. Ha osztályt vagy struktúrát határoz meg, majd egy ilyen típusú változót használ egy OrElse záradékban, az adott osztályt vagy struktúrát kell meghatároznia IsTrue .

A fordító párosított párnak tekinti az és IsFalse az IsTrue operátorokat. Ez azt jelenti, hogy ha az egyiket definiálja, a másikat is meg kell határoznia.

Az IsTrue fordítói használata

Amikor definiált egy osztályt vagy struktúrát, használhat egy ilyen típusú változót egy For, If, , Else Ifvagy While utasításban, vagy egy When záradékban. Ha ezt teszi, a fordítóhoz olyan operátorra van szükség, amely a típust Boolean értékké alakítja, hogy tesztelhesse a feltételt. A következő sorrendben keres egy megfelelő operátort:

  1. Az osztály vagy a struktúra szélesítő konverziós operátora Boolean.

  2. Az osztály vagy a struktúra szélesítő konverziós operátora Boolean?.

  3. Az IsTrue osztály vagy a struktúra operátora.

  4. Az erre való szűkítés Boolean? nem jár a konvertálással BooleanBoolean?.

  5. Az osztály vagy a struktúra egy szűkítő konverziós operátora Boolean.

Ha nem definiált semmilyen átalakítást Boolean vagy operátort IsTrue , a fordító hibát jelez.

Feljegyzés

Az IsTrue operátor túlterhelhető, ami azt jelenti, hogy egy osztály vagy struktúra újradefiniálta a viselkedését, ha az operandusa az adott osztály vagy struktúra típusával rendelkezik. Ha a kód egy ilyen osztályon vagy struktúrán használja ezt az operátort, győződjön meg arról, hogy tisztában van az újradefiniált viselkedésével. További információ: Operátori eljárások.

Példa

Az alábbi példakód egy olyan struktúra körvonalát határozza meg, amely definíciókat tartalmaz az operátorokhoz és IsTrue az IsFalse operátorokhoz.

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

Lásd még