Delegate và Event Gvhd: Nguyễn Tấn Trần Minh Khang Chương 12 Delegate và Event Delegate có nghĩa là ủy quyền hay ủy thác. Trong lập trình đôi lúc ta gặp tình huống phải thực thi một hành động nào đó, nhưng lại không biết sẽ gọi phương thức nào của đối tượng nào. Chằng hạn, một nút nhấn button khi được nhấn phải thông báo cho đối tượng nào đó biết, nhưng đối tượng này không thể được tiên đoán trong lúc cài đặt lớp button. Vì vậy ta sẽ kết nối lớp button với một đối tượng ủy thác và ủy thác. | Delegate và Event Gvhd Nguyễn Tấn Trần Minh Khang Chương 12 Delegate và Event Delegate có nghĩa là ủy quyền hay ủy thác. Trong lập trình đôi lúc ta gặp tình huống phải thực thi một hành động nào đó nhưng lại không biết sẽ gọi phương thức nào của đối tượng nào. Chằng hạn một nút nhấn button khi được nhấn phải thông báo cho đối tượng nào đó biết nhưng đối tượng này không thể được tiên đoán trong lúc cài đặt lớp button. Vì vậy ta sẽ kết nối lớp button với một đối tượng ủy thác và ủy thác hay thông báo cho đối tượng này trách nhiệm thực thi khi button được nhấn. Đối tượng ủy thác sẽ được gán đăng ký ủy thác vào thời điểm khác thích hợp. Event có nghĩa là sự kiện. Ngày nay mô hình lập trình giao diện người dùng đồ họa Graphical User Interface - GUI đòi hỏi cách tiếp cận theo hướng sự kiện. Một ứng dụng ngày nay hiển thị giao diện người dùng và chờ người dùng thao tác. Ứng với mỗi thao tác như chọn một trình đơn nhấn một nút button nhập liệu vào ô textbox . sẽ một sự kiện sẽ phát sinh. Một sự kiện có nghĩa là có điều gì đó đã xảy ra và chương trình phải đáp trả. Delegate và event là hai khái niệm có liên quan chặt chẽ với nhau. Bởi vì để quản lý các sự kiện một cách mềm dẻo đòi hỏi các đáp trả phải được phân phối đến các trình giải quyết sự kiện. Trình giải quyết sự kiện trong C được cài đặt bằng delegate. Delegate còn được sử dụng như một hàm callback. Hàm callback là hàm có thể được tự động gọi bởi hàm khác. Công dụng thứ hai này của delegate được đề cập trong chương 19. Delegate ủy thác ủy quyền Trong C delegate được hỗ trợ hoàn toàn bởi ngôn ngữ. về mặt kỹ thuật delegate thuộc kiểu tham chiếu được dùng để đóng gói phương thức đã xác định kiểu trả về và số lượng kiểu tham số. Chúng ta có thể đóng gói bất kỳ phương thức thức nào phù hợp với phương thức của delegate. Trong C có kỹ thuật tương tự là con trỏ hàm tuy nhiên delegate có tính hướng đối tượng và an toàn về kiểu Một delegate có thể được tạo bắng từ khóa delagate sau đó là kiểu trả về tên delegate và các .