105
Chương 3: Miền ứng dụng, cơ chế phản chiếu, và siêu dữ liệu
// Có phân biệt chữ hoa-thường,
// ném ngoại lệ TypeLoadException nếu không tìm thấy.
Type t3 = Type.GetType("System.String", true);
// Không phân biệt chữ hoa-thường,
// ném ngoại lệ TypeLoadException nếu không tìm thấy.
Type t4 = Type.GetType("system.string", true, true);
// Tên kiểu theo tiêu chuân assembly.
Type t5 = Type.GetType("System.Data.DataSet,System.Data," +
"Version=1.0.5000.0,Culture=neutral,
PublicKeyToken=b77a5c561934e089");
Để thu lấy đối tượng
Type
mô tả kiểu của một đối tượng hiện có, hãy sử dụng phương thức
GetType
, được hiện thực bởi
Object
và được thừa kế bởi tất cả các kiểu dữ liệu. Dưới đây là
một ví dụ:
System.Text.StringBuilder sb = new System.Text.StringBuilder();
Type t6 = sb.GetType();
Bảng 3.2 tóm tắt các phương thức khác cũng cung cấp khả năng truy xuất đối tượng
Type
.
Bảng 3.2 Các phương thức trả về đối tượng Type
Phương thức
Mô tả
Type.GetNestedType
Lấy đối tượng
Type
mô tả một kiểu lồng bên trong đối tượng
Type
hiện có
Type.GetNestedTypes
Lấy một mảng các đối tượng
Type
mô tả các kiểu lồng bên trong
đối tượng
Type
hiện có
Assembly.GetType
Lấy đối tượng
Type
mô tả một kiểu được khai báo bên trong
assembly
Assembly.GetTypes
Lấy một mảng các đối tượng
Type
mô tả các kiểu được khai báo
bên trong assembly
Module.GetType
Lấy đối tượng
Type
mô tả một kiểu được khai báo bên trong
module
Module.GetTypes
Lấy một mảng các đối tượng
Type
mô tả các kiểu được khai báo
bên trong module
Module.FindTypes
Lấy một mảng đã được lọc, chứa các đối tượng
Type
mô tả các
kiểu được khai báo bên trong module—các kiểu này được lọc
bằng một delegate (xác định xem mỗi
Type
có xuất hiện trong
mảng đích hay không)