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.
Prosedur ditandai sebagai <CLSCompliant(True)>
tetapi mendeklarasikan parameter Opsional dengan nilai default dari jenis yang tidak patuh.
Agar prosedur mematuhi Kemandirian Bahasa dan Komponen Language-Independent (CLS), prosedur hanya boleh menggunakan jenis yang mematuhi CLS. Ini berlaku untuk jenis parameter, jenis pengembalian, dan jenis semua variabel lokalnya. Ini juga berlaku untuk nilai default parameter opsional.
Jenis data Visual Basic berikut ini tidak mematuhi CLS:
Ketika menerapkan atribut CLSCompliantAttribute ke elemen pemrograman, Anda mengatur parameter isCompliant
atribut ke True
atau False
untuk menunjukkan kepatuhan atau ketidakpatuhan. Tidak ada default untuk parameter ini, dan Anda harus memberikan nilai.
Jika Anda tidak menerapkan CLSCompliantAttribute ke elemen, hal ini dianggap sebagai ketidakpatuhan.
Secara default, pesan ini adalah peringatan. Untuk informasi tentang menyembunyikan peringatan atau memperlakukan peringatan sebagai kesalahan, lihat Mengonfigurasi Peringatan di Visual Basic.
ID Kesalahan: BC40042
Untuk memperbaiki kesalahan ini
Jika parameter opsional harus memiliki nilai default dari jenis tertentu ini, hapus CLSCompliantAttribute. Prosedur ini tidak dapat mematuhi CLS.
Jika prosedur harus mematuhi CLS, ubah jenis nilai default ke jenis yang mematuhi CLS terdekat. Misalnya, sebagai ganti
UInteger
, Anda mungkin dapat menggunakanInteger
jika Anda tidak memerlukan rentang nilai di atas 2.147.483.647. Jika Anda memerlukan rentang yang diperluas, Anda dapat menggantiUInteger
denganLong
.Jika Anda berinteraksi dengan objek Automation atau COM, perlu diingat bahwa beberapa jenis memiliki lebar data yang berbeda dari di .NET Framework. Misalnya,
int
seringkali 16 bit di lingkungan lain. Jika Anda menerima bilangan bulat 16-bit dari komponen semacam ini, nyatakan sebagaiShort
alih-alihInteger
dalam kode Visual Basic terkelola Anda.