Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Anda telah mencoba mengonversi jenis ke jenis lain yang mungkin tidak dapat berisi nilai, seperti Long
ke Integer
, sementara sakelar pemeriksaan jenis (Pernyataan Ketat Opsi) diatur ke On
.
Jenis konversi ini disebut konversi yang mempersempit, dan ada kemungkinan gagal saat durasi. Untuk alasan ini, Option Strict On
melarang konversi penyempitan implisit.
ID Kesalahan: BC30512
Untuk memperbaiki kesalahan ini
Tentukan apakah konversi jenis apa pun ada dari
<type1>
ke<type2>
. Jika keduanya adalah jenis dasar Visual Basic, atau jika keduanya adalah instans kelas, Anda biasanya dapat membuat penentuan ini dengan merujuk tabel dalam Konversi Melebar dan Menyempit.Jika hanya konversi yang menyempit yang ada dari
<type1>
ke<type2>
, Anda harus menggunakan transmisi eksplisit. Kata kunci Fungsi CType dan Operator DirectCast melemparkan pengecualian run-time jika konversi gagal. Kata kunci Operator TryCast hanya berlaku untuk jenis referensi dan mengembalikan Nothing jika konversi gagal.Jika ada konversi yang menyempit dan program Anda dapat menoleransi kegagalan run-time, atau Anda yakin bahwa kegagalan run-time tidak akan terjadi, Anda dapat menentukan
Option Strict Off
di awal kode sumber Anda. Tetapi Anda masih harus mengapit konversi dalam blok Pernyataan Try...Catch...Finally untuk menghindari hasil yang tidak terduga atau penghentian awal program Anda.Jika tidak ada konversi dari
<type1>
ke<type2>
, Anda harus mengevaluasi kembali logika program Anda. Anda mungkin dapat menulis kode yang dapat menetapkan nilai ke<type2>
yang sesuai dengan nilai yang diantisipasi dari<type1>
.Jika tidak ada konversi dari
<type1>
ke<type2>
dan salah satu jenisnya adalah kelas atau struktur yang telah Anda tentukan, Anda mungkin dapat menentukan operator konversi dari jenis tersebut ke atau dari jenis lainnya. Untuk informasi selengkapnya, lihat Cara: Menentukan Operator Konversi.Dalam semua kasus dan sebagai pedoman umum, Anda harus menghindari penggunaan konversi yang menyempit jika tidak Anda dapat terjebak kegagalan dalam blok
Catch
dan harus menanganinya sampai berhasil.