Số 43
HỒ LÔ BIẾN

VB.NET hông? Các namespace và từ chốt Imports

Chương Can Chíp

Nếu mở nút References trong dự án XinChao (mời bạn xem kỳ trước), bạn sẽ thấy một tham chiếu đến System.Drawing. Khi bổ sung một tham chiếu đến một thành phần, ta có thể sử dụng các chức năng của nó trong ứng dụng. Ví dụ:

Dim MauSacXeGanMay As System.Drawing.Color

Ở đây, cấu trúc Color thuộc namespace System.Drawing. Namespace (tạm... dịch ẩu là "nem-xì-pay-xì"!) được sử dụng để tổ chức các lớp, các cấu trúc,... thành một hệ thống cấp bậc có ý nghĩa, giúp giảm bớt xung đột trong việc đặt tên.

Có thể bỏ qua phần tên đầy đủ của một namespace bằng cách cho biết trước namespace nào sẽ được xài trong mã lệnh của mình thông qua lệnh Imports. Hai lệnh đầu tiên được tự tạo trong tập tin AssemblyInfo.VB của ví dụ XinChao là:

Imports System.Reflection
Imports System.Runtime.InteropServices

Bạn chú ý, các lệnh Imports phải được đặt ở phần đầu của một tập tin mã lệnh và trước tất cả các dòng lệnh khác. Trong đoạn mã trên, namespace System.Reflection được nhập khẩu (import). Kể từ đây ta có thể xài thuộc tính AssemblyTitle đơn giản như sau:

<Assembly: AssemblyTitle(“ “)>

thay vì phải viết đầy đủ như sau:

<Assembly: System.Reflection.AssemblyTitle(“ “)>

Việc nhập khẩu các namespace giúp giảm số lượng mã lệnh cần gõ nhưng bạn phải cẩn thận, nếu nhập khẩu hai namespace có chứa các kiểu cùng tên và khai báo một biến thuộc một trong các kiểu này, nhưng không xài cách khai báo đầy đủ namespace, bộ biên dịch sẽ không biết đường đâu mà lần! Ví dụ, nếu ta nhập khẩu hai namespace System.DrawingeChipColor nào đấy đều chứa một cấu trúc Color, thì cách tham chiếu đến đối tượng Color như sau:

Dim objColor As Color

sẽ gây lỗi:
“The name ‘Color’ is ambiguous, imported from namespaces or types ‘eChipColor, System.Drawing’.”

Bạn có thể dùng Object Browser để xem các namespace được phép xài trong một ứng dụng bằng mục chọn View\Other Windows trên trình đơn. Object Browser được chia thành hai ô. Ô bên trái liệt kê các namespace được phép xài trong một ứng dụng. Có thể mở các nút namespace để khám phá các lớp, các cấu trúc và các loại khác được chứa bên trong mỗi namespace. Nếu chọn một lớp hoặc một loại khác từ ô bên trái, các thành viên của chúng sẽ được liệt kê trong ô bên phải.

Các namespace cũng có thể được lồng bên trong những namespace khác. Việc lồng nhau này giúp tổ chức các lớp thành một cấu trúc lô-gích hơn, giảm bớt nhầm lẫn. Ví dụ: trong namespace System.Drawing, namespace Drawing là một con của namespace System.

Các tham chiếu được bổ sung vào ví dụ XinChao liên quan trực tiếp đến các namespace sau: System, System.Data, System.Drawing, System.Windows.Forms, System.XML.

Bạn để ý, trên Object Browser, sát bên nút References là các tập tin tạo nên dự án. Trong ví dụ của ta có hai tập tin: Form1.VB và AssemblyInfo.VB.

Bạn đã biết namespace là gì. Theo bạn, tụi mình nên dịch nó thành tiếng Việt ra sao?

[Đầu trang]
Trang chủ
Thư ngỏ
Nội lực "Peter Pan"
Cầu nối Intel Việt Nam
Chuyện trong tuần
Nhóm Frontpage
Cõi người ta
Kim cương doanh nghiệp
Bình luận thị trường
Cõi Mô-bai
Chuyên đề
Bổ ngửa
Nuôi hồn Robot
Túi càn khôn IT
Hồ lô biến
Cảm về Game
Nhật ký e-CHÍP
Bản quyền VASC Orient, Công ty phát triển phần mềm VASC
99 Triệu Việt Vương HN; Tel: (04) 9782235 • email: echip@vasc.com.vn