Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 9

Delegate

Khái niệm
Delegate là một kiểu dữ liệu, sử dụng để tham chiếu
tới các hàm (phương thức) có sự tương thích về
tham số và kiểu dữ liệu trả về.
Chức năng
Sử dụng khi muốn thực hiện nhiều hàm có cùng kiểu
dữ liệu trả về và cùng tham số đầu vào. Thay vì phải
gọi từng hàm thì ta có thể sử dụng chức năng phát
đa hướng (multicast) với delegate.
Delegate

Khai báo
Khai báo Delegate trong C# để chỉ ra các phương
thức mà có thể được tham chiếu bởi Delegate đó.

Cú pháp:
delegate <kiểu_trả_về> <tên_dlg> (<danh_sách_tham_số>)

Giống như khai báo phương thức nhưng không có phần


thân phương thức
Delegate

Khởi tạo Delegate


Khi một kiểu delegate được khai báo, một đối tượng
delegate phải được tạo với từ khóa new và được liên
kết với một phương thức cụ thể.

Tham số được truyền vào biểu thức new là tên của


phương thức mà delegate đó tham chiếu tới.

Cú pháp:
<tên delegate> <tên đối tượng>=new <tên delegate>(tên
phương thức tham chiếu)

Lưu ý: Tên phương thức tham chiếu không bao gồm phần khai
báo tham số của phương thức đó
Delegate

Ví dụ (Tr93-Bài giảng C# cơ bản)


Delegate

Sử dụng
Khi một kiểu delegate được khai báo, một đối tượng
delegate phải được tạo với từ khóa new và được liên
kết với một phương thức cụ thể.

Tham số được truyền vào biểu thức new là tên của


phương thức mà delegate đó tham chiếu tới.

Cú pháp:
<tên delegate> <tên đối tượng>=new <tên delegate>(tên
phương thức tham chiếu)

Lưu ý: Tên phương thức tham chiếu không bao gồm phần khai
báo tham số của phương thức đó
Delegate

Multicast với Delegate


Có thể sử dụng cơ chế đa hướng của delegate để gọi
nhiều phương thức mà nó tham chiếu lần lượt một
cách tự động.
Ví dụ:
Viết chương trình tự động hiện năm sinh và tuổi sau
khi người dung nhập ngày tháng năm sinh?
Delegate
Multicast với Delegate
Delegate

Event với Delegate


Có thể sử dụng cơ chế đa hướng của delegate để gọi
nhiều phương thức mà nó tham chiếu lần lượt một
cách tự động.
Ví dụ:
Viết chương trình tự động hiện năm sinh và tuổi sau
khi người dung nhập ngày tháng năm sinh?

You might also like