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


Az "1>. típus" és a "<<type2>" közötti implicit konverziók letiltása a Strict On beállítással

Olyan típust próbált átalakítani egy másik típusra, amely nem tudja tartalmazni az értéket, például egy Long típusra Integer, míg a típus-ellenőrző kapcsoló (Option Strict Statement) értéke Ona következő.

Ezt a konverziótípust szűkítő konverziónak nevezzük, és futásidőben meghiúsulhat. Ezért nem engedélyezi az Option Strict On implicit szűkítési konverziókat.

Hibaazonosító: BC30512

A hiba kijavítása

  1. Határozza meg, hogy létezik-e bármilyen típusú átalakítás a helyről <type1> a másikra <type2>. Ha mindkettő Visual Basic elemi típus, vagy ha mindkettő osztálypéldány, ezt általában a kis- és a keskenyítési konverziók táblázatával teheti meg.

  2. Ha csak egy szűkítő konverzió létezik <type1><type2>, explicit öntést kell használnia. A CType függvény és a DirectCast Operátor kulcsszavak futásidejű kivételt eredményeznek, ha az átalakítás sikertelen. A TryCast Operátor kulcsszó csak hivatkozástípusokra vonatkozik, és semmit nem ad vissza, ha az átalakítás sikertelen.

  3. Ha létezik szűkítő átalakítás, és a program képes elviselni a futásidejű hibákat, vagy biztos abban, hogy a futásidejű hiba nem lehetséges, a forráskód elején megadhatja Option Strict Off . De a konvertálást továbbra is be kell illesztenie egy Kipróbálásba... Elkap... Végül az utasításblokk a program váratlan eredményeinek vagy korai leállításának elkerülése érdekében.

  4. Ha nem létezik átalakítás, <type1><type2>újra kell értékelnie a program logikáját. Olyan kódot írhat, amely a várt értékekhez <type2> rendelhet értékeket <type1>.

  5. Ha nem létezik átalakítás, <type1><type2> és az egyik típus egy ön által definiált osztály vagy struktúra, akkor lehet, hogy az adott típusból a másik típusba vagy a másik típusból is definiálhat konverziós operátort. További információ : Konverziós operátor definiálása.

  6. Minden esetben és általános útmutatóként kerülnie kell a szűkítő konverziók használatát, kivéve, ha egy blokk hibáit Catch csapdába ejtheti, és hatékonyan kezelheti őket.

Lásd még