Share via


Option Strict On, 'type1>' ile '<type2>' arasında örtük dönüştürmelere< izin vermemektedir

Tür denetimi anahtarı (Seçenek Katı Deyimi) olarak ayarlanırken, Long bir türü değerini içeremeyecek başka bir Integertüre dönüştürmeyi Ondenediniz.

Bu tür bir dönüştürme, daraltma dönüştürmesi olarak adlandırılır ve çalışma zamanında başarısız olması mümkündür. Bu nedenle örtük Option Strict On daraltma dönüştürmelerine izin vermemektedir.

Hata Kimliği: BC30512

Bu hatayı düzeltmek için

  1. türünden öğesine <type1><type2>dönüştürme olup olmadığını belirleyin. Her ikisi de Visual Basic temel türleriyse veya her ikisi de sınıfların örnekleriyse, bu belirlemeyi genellikle Genişletme ve Daraltma Dönüştürmeleri'ndeki tabloya danışarak yapabilirsiniz.

  2. 'den <type1> 'a <type2>yalnızca bir daraltma dönüştürmesi varsa, açık atama kullanmalısınız. Dönüştürme başarısız olursa CType İşlevi ve DirectCast İşleci anahtar sözcükleri bir çalışma zamanı özel durumu oluşturur. TryCast İşleci anahtar sözcüğü yalnızca başvuru türlerine uygulanır ve dönüştürme başarısız olursa Hiçbir şey döndürür.

  3. Daraltma dönüştürmesi varsa ve programınız bir çalışma zamanı hatasını tolere edebilirse veya çalışma zamanı hatasının mümkün olmadığından eminseniz, kaynak kodunuzun başında belirtebilirsiniz Option Strict Off . Ancak yine de dönüştürmeyi bir Deneyin içine almanız gerekir... Yakalamak... Beklenmeyen sonuçlardan veya programınızın erken sonlandırılmasını önlemek için Finally Deyimi bloğu.

  4. dönüştürmesi <type1><type2>yoksa, program mantığınızı yeniden değerlendirmeniz gerekir. tahmin <type1>edilen değerlerine <type2> karşılık gelen değerleri atayabilen kod yazabilirsiniz.

  5. öğesinden öğesine <type1><type2> dönüştürme yoksa ve türlerden biri tanımladığınız bir sınıf veya yapıysa, bu türden başka bir türe veya başka bir türe dönüştürme işleci tanımlayabilirsiniz. Daha fazla bilgi için bkz . Nasıl yapılır: Dönüştürme İşleci Tanımlama.

  6. Her durumda ve genel bir yönerge olarak, hataları bir blokta yakalayıp etkili bir Catch şekilde ele alamadığınız sürece daraltma dönüştürmelerini kullanmaktan kaçınmalısınız.

Ayrıca bkz.