Tải bản đầy đủ (.ppt) (12 trang)

Delegate trong c#

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (153.24 KB, 12 trang )

Delegate
Delegate(ủy quyền)
1. Delegate là gì?

Delegate là giải pháp thay thế cho
function pointer của C++.

Delegate gói gọn một phương thức
(method) với một tập hợp tham số và kiểu
trả về xác định.

Delegate có thể gói cả phương thức
static của một class lẫn một phương thức
instance
Delegate(ủy quyền)

Delegate được gọi là single-cast delegate khi
nó chỉ chưa một phương thức, và được gọi là
multi-cast delegate khi nó chứa nhiều phương
thức (Chú ý: Multi-cast delegate >< mảng các
delegates)

Multi-cast delegate rất hữu dụng khi dùng để
xử lý các sự kiện (event-handler).

Khi được kích hoạt, Multi-cast delegate kích
hoạt các phương thức lần lượt theo thứ tự
chúng được add vào delegate.
Delegate(ủy quyền)

Delegate là một kiểu đặc biệt, nhiệm vụ của nó


là chứa một hoặc nhiều method trong một list.
Khi một delegate được kích hoạt thực thi thì tất
cả các method mà nó chứa sẽ lần lượt được
thực thi theo thứ tự từ trên xuống dưới.
Chúng ta có thể thực hiện các thao tác sau trên
delegate:

Khai báo delegate

Tạo một đối tượng thuộc kiểu delegate vừa
khai báo

Kích hoạt thực thi một delegate
Delegate(ủy quyền)
Chức năng của delegate:
Bao đóng một hoặc nhiều method. Các method được
bao đóng phải tuân theo những nguyên tắc sau:

Có cùng kiểu trả về với delegate

Có cùng số tham số với delegate

Kiểu của các tham số phải giống với delegate và phải
cùng thứ tự xuất hiện.

Ví dụ:
public int method1(string a, int b) // Hợp lệ
public int method2(int b, string a) //Không hợp lệ do sai
thứ tự
public void method3(string a, int b) // Khong hợp lệ do

không cùng kiểu trả về
public static int method4( string a, int b) // hợp lệ

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×