Efek aktual dari pernyataan Impor di VB.NET sering menjadi sumber kebingungan bagi orang yang belajar bahasa. Dan interaksi dengan Referensi VB.NET membuat lebih banyak kebingungan. Kami akan menghapusnya di Tip Cepat ini.
Berikut ini ringkasan singkat dari keseluruhan cerita. Lalu kita akan membahas detailnya.
Referensi ke VB.NET namespace adalah persyaratan dan harus ditambahkan ke proyek sebelum objek di namespace dapat digunakan. (Satu set referensi ditambahkan secara otomatis untuk template yang berbeda dalam Visual Studio atau VB.NET Express. Klik "Tampilkan Semua File" di Solution Explorer untuk melihat apa itu.) Tetapi pernyataan Impor bukan keharusan. Sebaliknya, ini hanyalah kenyamanan pengkodean yang memungkinkan nama yang lebih pendek digunakan.
Sekarang mari kita lihat contoh yang sebenarnya. Untuk mengilustrasikan ide ini, kita akan menggunakan Sistem. Namespace data - yang menyediakan teknologi data ADO.NET.
Sistem. Data ditambahkan ke aplikasi Windows sebagai Referensi secara default menggunakan templat Aplikasi Formulir Windows VB.NET.
Menambahkan Namespace di Koleksi Referensi
Menambahkan namespace baru ke koleksi Referensi dalam proyek membuat objek di namespace itu tersedia untuk proyek juga. Efek yang paling terlihat dari ini adalah bahwa Visual Studio "Intellisense" akan membantu Anda menemukan objek dalam kotak menu sembulan.
Jika Anda mencoba menggunakan objek dalam program Anda tanpa Referensi, baris kode menghasilkan kesalahan.
Pernyataan Impor, di sisi lain, tidak pernah diperlukan. Satu-satunya hal yang dilakukannya adalah memungkinkan nama untuk diselesaikan tanpa sepenuhnya memenuhi syarat. Dengan kata lain (penekanan ditambahkan untuk menunjukkan perbedaan).
Impor Sistem. Data
Formulir Kelas Publik1
Sistem Warisan. Windows. Formulir. Bentuk
Sub Formulir Pribadi1_Load (...
Dim Test As OleDb. OleDbCommand
End Sub
Kelas Akhir
dan
Impor Sistem. Data. OleDb
Formulir Kelas Publik1
Sistem Warisan. Windows. Formulir. Bentuk
Sub Formulir Pribadi1_Load (...
Dim Test As OleDbCommand
End Sub
Kelas Akhir
keduanya setara. Tapi ...
Impor Sistem. Data
Formulir Kelas Publik1
Sistem Warisan. Windows. Formulir. Bentuk
Sub Formulir Pribadi1_Load (...
Dim Test As OleDbCommand
End Sub
Kelas Akhir
menghasilkan kesalahan sintaksis ("Ketik 'OleDbCommand' tidak didefinisikan") karena Mengimpor namespace Sistem kualifikasi. Data tidak memberikan informasi yang cukup untuk menemukan objek OleDbCommand.
Meskipun kualifikasi nama di Anda kode sumber program dapat dikoordinasikan pada tingkat mana pun dalam hierarki 'semu', Anda masih harus memilih namespace yang tepat untuk referensi. Misalnya, .NET menyediakan Sistem. Ruang nama web dan daftar lainnya yang dimulai dengan Sistem. Web ...
Catatan
Ada dua file DLL yang sama sekali berbeda untuk referensi. Anda harus memilih yang benar karena WebService bukan metode di salah satunya.