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

640
Chương 16: Các giao diện và mẫu thông dụng

// Chép đè thuộc tính Message của lớp cơ sở (để kèm các

// thành viên dữ liệu tùy biến vào).

public override string Message {

get {

string message = base.Message;

if (stringInfo != null) {

message += Environment.NewLine +

stringInfo + " = " + booleanInfo;

}

return message;

}

}

}

Trong các ứng dụng lớn, bạn sẽ thường xuyên hiện thực một vài lớp ngoại lệ tùy biến. Bạn
cần lưu tâm đến cách tổ chức các ngoại lệ tùy biến và mã lệnh sẽ sử dụng chúng như thế nào.
Nói chung, tránh tạo ra các lớp ngoại lệ mới trừ khi mã lệnh cần nỗ lực bắt ngoại lệ đó; sử
dụng các thành viên dữ liệu để thu thông tin, chứ không phải các lớp ngoại lệ. Ngoài ra, tránh
phân cấp lớp theo chiều sâu mà nên phân cấp cạn, theo chiều rộng.

8.

8.

Hi n th c đ i s s ki n tùy bi n

ự ố ố ự ệ

ế

Hi n th c đ i s s ki n tùy bi n

ự ố ố ự ệ

ế

Khi dựng lên một sự kiện, bạn cần truyền một trạng thái đặc-trưng-sự-kiện cho
các phương thức thụ lý sự kiện.

Tạo một lớp đối số sự kiện tùy biến dẫn xuất từ lớp

System.EventArg

. Khi dựng

lên sự kiện, hãy tạo một thể hiện của lớp đối số sự kiện và truyền nó cho các
phương thức thụ lý sự kiện.

Khi khai báo các kiểu sự kiện, thông thường bạn sẽ cần truyền trạng thái đặc-trưng-sự-kiện
cho các phương thức thụ lý sự kiện. Để tạo một lớp đối số sự kiện tùy biến tuân theo mẫu
Event do .NET Framework định nghĩa, bạn cần:

Dẫn xuất lớp đối số sự kiện tùy biến từ lớp

EventArgs

. Lớp

EventArgs

không chứa dữ

liệu và được sử dụng cùng với các sự kiện không cần truyền trạng thái.

Đặt một tên có ý nghĩa cho lớp đối số sự kiện tùy biến, kết thúc bằng từ

EventArgs

;

chẳng hạn,

DiskFullEventArgs

hay

MailReceivedEventArgs

.

Đánh dấu lớp đối số sự kiện là

sealed

nếu bạn không muốn các lớp đối số sự kiện khác

có thể thừa kế nó.

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.