‫Được rồi.
‫Vậy đại biểu là gì?
‫Nói một cách dễ hiểu, một đại biểu là một kiểu có thể chứa một tham chiếu đến một phương thức.
‫Và khi bạn gọi đại biểu, phương thức được tham chiếu sẽ được gọi.
‫Hãy tưởng tượng chúng tôi đang phát triển một thư viện giao diện người dùng mà các nhà phát triển khác có thể sử dụng để xây dựng các ứng dụng dành cho thiết bị di động
‫và một trong những yếu tố giao diện người dùng mà các nhà phát triển khác có thể sử dụng là một nút.
‫Nếu chúng ta nhìn vào đoạn mã đằng sau lớp nút được sử dụng để tạo nút màu xanh lá
‫cây trên màn hình, một nút như thế này sẽ có các thuộc tính sau, một chuỗi được gọi là văn bản với giá trị
‫được gửi, màu được gọi là màu trở lại, màu hơi xanh lục và của khóa học thứ hai, nó được gọi là kích thước W và kích thước H cho chiều rộng
‫và chiều cao của nút.
‫Bây giờ, điều còn thiếu ở đây là một phương thức chứa mã cần được thực thi khi nút
‫được nhấp.
‫Bây giờ chúng ta có một vấn đề ở đây.
‫Chúng tôi, với tư cách là các nhà phát triển đã tạo ra hệ thống giao diện người dùng này, không thể biết các nhà phát triển khác sử dụng hệ thống giao
‫diện người dùng của chúng tôi muốn nút làm gì khi nó được nhấp vào.
‫Đó là lý do tại sao chúng ta cần cung cấp sự kiện khi nhấp chuột dưới dạng một đại biểu chứ không phải như một phương thức bình thường.
‫Và vì một đại biểu là một biến có thể lưu trữ một tham chiếu đến một phương thức, như chúng ta đã
‫nghe trước đó, các nhà phát triển khác có thể viết triển khai của riêng họ bên trong một phương thức có chứa logic
‫mà họ muốn được thực thi khi nhấp và gán nó cho các nút khi nhấp. sự kiện gạch chéo đại biểu.
‫Chúng tôi cung cấp cho nó đại biểu nhấp chuột của riêng chúng tôi có thể được định nghĩa như thế này.
‫Vì vậy, bây giờ chúng ta hãy chia nhỏ nó ra từng chút một.
‫Chúng tôi sẽ bắt đầu bằng cách viết quyền truy cập được chỉ định cho từ khóa private này, tiếp theo là từ khóa ủy nhiệm, từ khóa
‫này cho trình biên dịch biết rằng chúng tôi đang xác định một kiểu mới.
‫Và cuối cùng, chúng ta cần chỉ định loại phương thức mà đại biểu của chúng ta có thể lưu trữ.
‫Và theo kiểu, tôi có nghĩa là kiểu trả về và các tham số trên Click Delegate là tên của người được ủy quyền mà chúng ta
‫vừa xác định.
‫Bây giờ, bước tiếp theo là thực sự tạo một biến kiểu đại biểu mới của nó.
‫Vì vậy, chúng tôi xác định nó giống như chúng tôi xác định bất kỳ biến nào trong C-sharp.
‫Bằng cách bắt đầu với công khai, sau đó là loại biến chúng tôi đang tạo, trên đại biểu nhấp chuột.
‫Và cuối cùng, tên biến được nhấp vào.
‫Vì vậy, một lần nữa, chúng tôi đã xác định một loại biến công khai trên Click Delegate và chúng tôi đặt tên cho nó trên Click.
‫Biến này có thể giữ hoặc lưu trữ một tham chiếu đến bất kỳ phương thức nào miễn là nó không có giá trị như kiểu trả về
‫và không nhận tham số.
‫Nếu không, chúng ta sẽ gặp lỗi tương tự như khi chúng ta cố gắng lưu trữ một float bên trong một biến in.
‫Vì vậy, làm thế nào chúng ta có thể sử dụng đại biểu mới này?
‫Chà, giả sử chúng tôi kéo nút đã thả vào canvas của chúng tôi trong ID mà chúng tôi đang sử dụng để phát triển ứng dụng dành cho thiết bị di động
‫này bằng cách sử dụng hệ thống giao diện người dùng của chúng tôi, dẫn đến việc tạo ra một đối tượng nút.
‫Giả sử tên của nút này là nút gửi.
‫Vì vậy, trước tiên chúng ta hãy thêm logic mà chúng ta muốn thực thi khi nút được nhấp.
‫Trong trường hợp của chúng tôi, chúng tôi muốn kết nối mạng, gửi tin nhắn, sau đó hiển thị thông báo cho người dùng.
‫Vì vậy, bây giờ chúng ta có một phương pháp bình thường được gọi là Gửi nút Nhấp chưa được kết nối với nút theo bất kỳ
‫cách nào.
‫Để khắc phục điều đó, chúng ta cần gán phương thức của mình cho biến khi nhấp của loại trên Nhấp vào đại diện.
‫Lưu ý rằng chúng tôi đã viết tên phương thức của mình mà không có dấu ngoặc vì chúng tôi không gọi nó, chúng tôi chỉ
‫lưu trữ tham chiếu của nó trong đại biểu chính xác.
‫Bây giờ, nếu con chuột đang di chuột qua nút và con chuột được nhấp, hệ thống giao diện người dùng của chúng tôi sẽ gọi đại
‫biểu khi nhấp vào nút gửi của chúng tôi, đổi lại sẽ gọi bất kỳ phương thức nào được chỉ định
‫cho nó.
‫Trong trường hợp này, nó sẽ gọi lần nhấp vào nút gửi và hộp thoại đã gửi tin nhắn sẽ được hiển thị.
‫Bằng cách này, bất kỳ ai sử dụng hệ thống giao diện người dùng của chúng tôi đều có thể tạo các phương thức của riêng họ, sau đó gán các phương thức của họ cho người
‫được ủy quyền của chúng tôi và chúng tôi có thể gọi chúng bất cứ khi nào điều kiện phù hợp.
‫Chúng tôi không giới hạn đối với các sự kiện nhấp chuột.
‫Chúng tôi thậm chí có thể tạo đại biểu cho thời điểm ứng dụng bắt đầu hoặc đóng lại, chẳng hạn.
‫Đây là một ví dụ rất trừu tượng, nhưng đây là một trường hợp sử dụng thực tế của các đại biểu nói chung.
‫Vì vậy, tiếp theo chúng ta sẽ học cách sử dụng một trong các đại biểu đã tồn tại trong C-sharp.
‫Và sau đó, chúng ta sẽ bắt đầu tạo các đại biểu của riêng mình, tương tự như cách chúng ta đã làm trong ví dụ này.
‫Vậy hẹn gặp lại các bạn trong video tiếp theo.