Bài giảng c và môi trường donet bài 13

14 184 0
Bài giảng c và môi trường donet   bài 13

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài 13 Delegate Event  Ôn tập lại cũ • Kỹ thuật generic • System.Collections.generic • Generic class • Generic method • Generic interface • Iterator Delegate Event  Nội dung trình bày • Định nghĩa delegate • Khai báo delegate • Sử dụng delegate • Multicast delegate • Các đặc điểm delegate • Định nghĩa event • Khai báo sử dụng event Subject name / Session# / of Totalpage Delegate Event  Định nghĩa delegate • using System; namespace Akadia.NoDelegate { public class MyClass { public void Process() { Console.WriteLine("Process() begin"); Console.WriteLine("Process() end"); } } public class Test { static void Main(string[] args) { MyClass myClass = new MyClass(); myClass.Process(); } } } Delegate Event  Định nghĩa delegate • Muốn gọi phương thức phải gọi thông qua đối tượng thông quan lớp phương thức tĩnh(có từ khóa static đặt trước) • Chúng ta gọi phương thức cách gián tiếp thông qua delegate • Delegate giống khái niệm trỏ hàm ngôn ngữ C C+ + Nó dùng để tham chiếu đến phương thức • Đối tượng delegate chứa(bao gói) tham chiếu đến phương thức Delegate Event  Khai báo delegate • delegate result-type identifier ([parameters]); • Trong delegate từ khóa • result-type kiểu liệu trả về, phải giống kiểu liệu trả phương thức mà delegate tham chiếu đến • identifier tên delegate • Parameters tham số, phải giống kiểu số lượng đối số phương thức mà delegate định tham chiếu đến • Ví dụ: • public delegate void SimpleDelegate () − Khai báo delegate tên SimpleDelegate, delegate tham chiếu đến phương thức đối số kiểu liệu trả • public delegate int ButtonClickHandler (object obj1, object obj2) Delegate Event  Sử dụng delegate • Gồm bước: − Khai báo delegate  − delegate result-type identifier ([parameters]); Viết phương thức mà delegate tham chiếu đến  Phương thức mà delegate tham chiếu đến phải có nguyên mẫu giống deletegate − Khởi tạo đối tượng delegate  − Gọi đối tượng delegate   objectName = new (); ObjectName(parameters); Ví dụ DEMO Delegate Event  Multicast delegate • Một delegate tham chiếu đến nhiều phương thức thời điểm • Sử dụng toán tử += • Ví dụ DEMO Delegate Event  Tại cần delegate • Dùng để tạo chế truyền liệu qua kiện mô hình lập trình hướng kiện • Khi đối tượng A phát sinh kiện, muốn truyền kiện sang B Nhưng A viết trước (A button chẳng hạn) viết trước B (Ví dụ B Form chẳng hạn) nên A biết B có phương thức đểgọi Nên cần định nghĩa trước nguyên mẫu cho A implement B , A g ọi B qua nguyên mẫu Delegate Event  Định nghĩa event • Event(sự kiện) tạo người dùng hệ thống Ví dụ người dùng click lên Button Publisher đối tượng thực công việc Và tạo event Subcribers đối tượng gược đăng ký(subscribed) để nhận kiện Delegate Event  Khai báo sử dụng event • Khai báo bên lớp interface • Ví dụ: //Khai báo delegate public delegate void LogHandler(string message); // Khai báo event dựa delegate public event LogHandler Log; Delegate Event Delegate Event  Khai báo sử dụng event • Khai báo delegate • Khai báo event • Gán kết event với delegate(listener) phương thức xử lý event(event handler) • Tạo event(raise event)  Ví dụ DEMO Delegate Event  Kết luận • Khái niệm cách sử dụng delegate • Multicast delegate • Khái niệm event cách khai báo • Gán kết delegate với event(subcribing to event ) [...]...Delegate và Event  Khai báo và sử dụng event • Khai báo bên trong một lớp ho c interface • Ví dụ: //Khai báo delegate public delegate void LogHandler(string message); // Khai báo một event dựa trên delegate public event LogHandler Log; Delegate và Event Delegate và Event  Khai báo và sử dụng event • Khai báo delegate • Khai báo event • Gán kết event với delegate(listener) và phương th c xử lý event(event... • Gán kết event với delegate(listener) và phương th c xử lý event(event handler) • Tạo event(raise event)  Ví dụ DEMO Delegate và Event  Kết luận • Khái niệm và c ch sử dụng delegate • Multicast delegate • Khái niệm event và c ch khai báo • Gán kết delegate với event(subcribing to event ) ... public class MyClass { public void Process() { Console.WriteLine("Process() begin"); Console.WriteLine("Process() end"); } } public class Test { static void Main(string[] args) { MyClass myClass... Ôn tập lại c • Kỹ thuật generic • System.Collections.generic • Generic class • Generic method • Generic interface • Iterator Delegate Event  Nội dung trình... th c cách gián tiếp thông qua delegate • Delegate giống khái niệm trỏ hàm ngôn ngữ C C+ + Nó dùng để tham chiếu đến phương th c • Đối tượng delegate chứa(bao gói) tham chiếu đến phương th c Delegate

Ngày đăng: 04/12/2015, 14:33

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan