Share via


Option Strict On staat impliciete conversies van '<type1>' naar '<type2>' toe

U hebt geprobeerd een type te converteren naar een ander type dat mogelijk niet de waarde kan bevatten, zoals een naar een LongInteger, terwijl de schakeloptie voor typecontrole (optie strikt instructie) is ingesteld op On.

Dit type conversie wordt een narrowing-conversie genoemd en het is mogelijk dat deze tijdens de uitvoering mislukt. Option Strict On Daarom is impliciete narrowing conversie niet toe te staat.

Fout-id: BC30512

Deze fout corrigeren

  1. Bepalen of er een conversie van een willekeurig type bestaat van <type1> naar <type2>. Als beide basistypen van Visual Basic zijn of beide exemplaren van klassen zijn, kunt u dit meestal bepalen door de tabel in Widening- en Narrowing Conversions te raadplegen.

  2. Als er slechts een narrowing conversie bestaat van <type1> naar <type2>, moet u expliciete cast gebruiken. De trefwoorden CType-functie en DirectCast-operator genereren een runtime-uitzondering als de conversie mislukt. Het trefwoord TryCast-operator is alleen van toepassing op verwijzingstypen en retourneert niets als de conversie mislukt.

  3. Als er een vermalingsconversie bestaat en uw programma een runtimefout tolereert, of als u er zeker van bent dat een runtimefout niet mogelijk is, kunt u aan het begin van uw broncode opgeven Option Strict Off . Maar u moet de conversie nog steeds insluiten in een Try... Vangen... Ten slotte instructieblok om onverwachte resultaten of vroegtijdige beëindiging van uw programma te voorkomen.

  4. Als er geen conversie van <type1> naar <type2>bestaat, moet u de programmalogica opnieuw evalueren. Mogelijk kunt u code schrijven waarmee waarden <type2> kunnen worden toegewezen die overeenkomen met verwachte waarden van <type1>.

  5. Als er geen conversie bestaat van <type1> naar <type2> en een van de typen een klasse of structuur is die u hebt gedefinieerd, kunt u mogelijk een conversieoperator van dat type naar of van het andere type definiëren. Zie Een conversieoperator definiëren voor meer informatie.

  6. In alle gevallen en als algemene richtlijn moet u voorkomen dat u vermalingsconversies gebruikt, tenzij u fouten in een Catch blok kunt ondervangen en deze effectief kunt behandelen.

Zie ook