CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 104

104
Chương 3: Miền ứng dụng, cơ chế phản chiếu, và siêu dữ liệu

việc giải phóng miền ứng dụng, ngoại lệ

System.CannotUnloadAppDomainException

sẽ bị ném

bởi tiểu trình thực hiện quá trình giải phóng.
Trong khi miền ứng dụng đang được giải phóng, CLR gọi thực thi các phương thức giải phóng
của tất cả các đối tượng trong miền ứng dụng. Tùy thuộc vào số lượng đối tượng và bản chất
của các phương thức giải phóng mà quá trình này có thể mất một khoảng thời gian nào đó.
Phương thức

AppDomain.IsFinalizingForUnload

trả về

true

nếu miền ứng dụng đang được

giải phóng và CLR đã bắt đầu giải phóng các đối tượng trong đó; ngược lại, trả về

false

.

10.

10.

Truy xu t thông tin Type

Truy xu t thông tin Type

Bạn muốn thu lấy đối tượng

System.Type

mô tả một kiểu dữ liệu nhất định.

Sử dụng một trong các cách sau:

Toán tử

typeof

Phương thức tĩnh

GetType

của lớp

System.Type

Phương thức

GetType

thuộc một thể hiện của kiểu

Phương thức

GetNestedType

hay

GetNestedTypes

của lớp

Type

Phương thức

GetType

hay

GetTypes

của lớp

Assembly

Phương thức

GetType

,

GetTypes

, hay

FindTypes

của lớp

System.Reflection.

Module

Đối tượng

Type

cung cấp một điểm khởi đầu để làm việc với các kiểu dữ liệu bằng cơ chế

phản chiếu. Một đối tượng

Type

cho phép bạn kiểm tra siêu dữ liệu của kiểu, thu lấy các thành

viên của kiểu, và tạo các đối tượng của kiểu. Do tầm quan trọng của nó, .NET Framework
cung cấp nhiều cơ chế để lấy tham chiếu đến các đối tượng

Type

.

Phương pháp hiệu quả nhất để thu lấy đối tượng

Type

cho một kiểu cụ thể là sử dụng toán tử

typeof

:

System.Type t1 = typeof(System.Text.StringBuilder);

Tên kiểu không được đặt trong dấu nháy kép và phai kha phân giai đôi với trình biên dịch. Vì
tham chiếu được phân giải lúc biên dịch nên assembly chứa kiểu này trở thành phần phụ thuộc
tĩnh cua assembly và sẽ được liệt kê như thế trong assembly manifest của bạn.
Một cách khác là sử dụng phương thức tĩnh

Type.GetType

, nhận vào một chuỗi chứa tên kiểu.

Vì sử dụng chuỗi để chỉ định kiểu nên bạn có thể thay đổi nó lúc thực thi, điều này mở ra cánh
cửa đến với thế giới lập trình động bằng cơ chế phản chiếu (xem mục 3.12). Nếu bạn chỉ định
tên kiểu, bộ thực thi phải tìm kiểu này trong một assembly đã được nạp. Bạn cũng có thể chỉ
định một tên kiểu theo tiêu chuân assembly (tham khảo tài liệu .NET Framework SDK về
phương thức

Type.GetType

để biết cách kết cấu tên kiểu theo tiêu chuân assembly). Các lệnh

sau trình bày cách sử dụng phương thức

GetType

:

// Có phân biệt chữ hoa-thường, trả về null nếu không tìm thấy.

Type t2 = Type.GetType("System.String");

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.