Útmutató: Olyan változó létrehozása, amely nem változik az értékben (Visual Basic)

Egy változó fogalma, amely nem módosítja az értékét, ellentmondásosnak tűnhet. Vannak azonban olyan helyzetek, amikor egy állandó nem megvalósítható, és hasznos, ha egy változó rögzített értékkel rendelkezik. Ilyen esetben megadhatja a tagváltozót a ReadOnly kulcsszóval.

A Const utasítással nem deklarálhat és rendelhet hozzá állandó értéket a következő körülmények között:

  • Az Const utasítás nem fogadja el a használni kívánt adattípust

  • A fordítási időpontban nem ismeri az értéket

  • A fordítási időpontban nem lehet kiszámítani az állandó értéket

Olyan változó létrehozása, amely nem változik az értékben

  1. A modul szintjén deklaráljon egy tagváltozót a Dim Utasítással, és adja hozzá a ReadOnly kulcsszót.

    Dim ReadOnly timeStarted
    

    Csak tagváltozón adható meg ReadOnly . Ez azt jelenti, hogy a változót modulszinten kell meghatároznia, bármilyen eljáráson kívül.

  2. Ha fordításkor egyetlen utasításban tudja kiszámítani az értéket, használjon inicializálási záradékot az Dim utasításban. Kövesse az As záradékot egyenlőségjellel (=), majd egy kifejezéssel. Ügyeljen arra, hogy a fordító állandó értékként értékelje ki ezt a kifejezést.

    Dim ReadOnly timeStarted As Date = Now
    

    Egy változóhoz ReadOnly csak egyszer rendelhet értéket. Ha így tesz, egyetlen kód sem módosíthatja az értékét.

    Ha nem ismeri az értéket a fordítási időpontban, vagy nem tudja lefordítani egyetlen utasításban, akkor is hozzárendelheti futásidőben egy konstruktorban. Ehhez osztály- vagy struktúraszinten kell deklarálnia a ReadOnly változót. Az adott osztály vagy szerkezet konstruktorában számítsa ki a változó rögzített értékét, és rendelje hozzá a változóhoz, mielőtt visszatér a konstruktorból.

Lásd még