Lập trình Windows - Lập Trình C #- Lập Trình C Shap - Chương 4
Số trang: 56
Loại file: ppt
Dung lượng: 1.27 MB
Lượt xem: 11
Lượt tải: 0
Xem trước 6 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tham khảo tài liệu lập trình windows - lập trình c #- lập trình c shap - chương 4, công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Lập trình Windows - Lập Trình C #- Lập Trình C Shap - Chương 4 Chapter 4Delegate & EventNội dung Delegate Khái niệm delegate Thực thi delegate Multicast delegate Giải pháp cho hàm Sort tổng quát Event Khái niệm event Event & delegate Cơ chế publishing & subscribing Minh họa cơ chế event 2Delegate là gì Delegate là 1 kiêu dữ liêu loai tham chiêu cho phep lưu trữ ̉ ̣ ̣ ́ ́ ́ ́ ́ ̀ cac tham chiêu đên ham. 3DelegateDelegate Delegates tương tự như tham chiêu đôi tượng, nhưng ́ ́ được dung để tham chiêu method thay vì tham chiêu đôi ̀ ́ ́ ́ tượng. Khai niêm delegate tương tự như con trỏ ham trong C++. ́ ̣ ̀ 4 ́Khai bao delegate Delegate được khai bao giông như khai bao ham nhưng ́ ́ ́ ̀ không có phân thân ham. Khai bao delegate xac đinh loai ̀ ̀ ́ ́ ̣ ̣ dữ liêu trả về (return type) và danh sach cac đôi số ̣ ́ ́ ́ (parameter list) access delegate function_declaration ̣ Vi du: delegate double ProcessDelegate(double param1, double param2); 5Khởi tao biên delegate ̣ ́ Sau khi khai bao delegate, có thể khai bao biên có kiêu là ́ ́ ́ ̉ delegate vưa khai bao. ̀ ́ ̣ Vi du: ProcessDelegate process; Khơi đâu biên như 1 tham chiêu đên bât kỳ ham nao có ̉ ̀ ́ ́ ́ ́ ̀ ̀ cung kiêu trả về (return type) và danh sach đôi số ̀ ̉ ́ ́ (parameter list) như cua delegate. ̉ Ví du: Nêu ham Multiply có cung signature với delegate có ̣ ́ ̀ ̀ tên là process static double Multiply(double param1, double param2) { return param1 * param2; } Khởi tao biên process ̣ ́ process = new ProcessDelegate(Multiply); 6Thực thi delegate Khi đã khởi đâu biên, có thể goi ham thông ̀ ́ ̣ ̀ qua biên delegate như thể nó là 1 ham. ́ ̀ Ví du: ̣ Console.WriteLine(Result: {0}, process(13.5, 67)); 7The type or signature of the method the delegatecan point to int Add(int a, int b) { return a+b; Signature of these two } methods: int Subtract(int c, int d) int aMethod(int p, int q) { return c-d; } define the type of a delegate using the delegate keyword delegate int MyDelegate(int p, int q);The type or signature of the method the delegatecan point to define the type of a delegate using the delegate keyword delegate int MyDelegate(int p, int q); The reference of this delegate type can be used to point to any method which takes two integers as parameters and returns an integer value. ́Biên delegate trong C# In C# 1.0 and later, delegates can be declared as shown here: public delegate void Del(T item); public void Notify(int i) { } Del d1 = new Del(Notify); In C# 2.0 and later, it is also possible to use an anonymous method to declare and initialize a delegate by using this simplified syntax: Del d2 = Notify; 10Passing delegates to methods Tham chiêu delegate cua 1 method có thể được chuyên ́ ̉ ̉ ̀ ́ (pass) vao 1 method khac.static void PerformArithOperation(double a, double b, processDelegate arithOperation) { double r = arithOperation(a, b); Console.WriteLine( The result of arithmetic operation on 3 and 4 is: {0}, r); } Method nay được goi như sau: ̀ ̣ PerformArithOperation(3, 4, ...
Nội dung trích xuất từ tài liệu:
Lập trình Windows - Lập Trình C #- Lập Trình C Shap - Chương 4 Chapter 4Delegate & EventNội dung Delegate Khái niệm delegate Thực thi delegate Multicast delegate Giải pháp cho hàm Sort tổng quát Event Khái niệm event Event & delegate Cơ chế publishing & subscribing Minh họa cơ chế event 2Delegate là gì Delegate là 1 kiêu dữ liêu loai tham chiêu cho phep lưu trữ ̉ ̣ ̣ ́ ́ ́ ́ ́ ̀ cac tham chiêu đên ham. 3DelegateDelegate Delegates tương tự như tham chiêu đôi tượng, nhưng ́ ́ được dung để tham chiêu method thay vì tham chiêu đôi ̀ ́ ́ ́ tượng. Khai niêm delegate tương tự như con trỏ ham trong C++. ́ ̣ ̀ 4 ́Khai bao delegate Delegate được khai bao giông như khai bao ham nhưng ́ ́ ́ ̀ không có phân thân ham. Khai bao delegate xac đinh loai ̀ ̀ ́ ́ ̣ ̣ dữ liêu trả về (return type) và danh sach cac đôi số ̣ ́ ́ ́ (parameter list) access delegate function_declaration ̣ Vi du: delegate double ProcessDelegate(double param1, double param2); 5Khởi tao biên delegate ̣ ́ Sau khi khai bao delegate, có thể khai bao biên có kiêu là ́ ́ ́ ̉ delegate vưa khai bao. ̀ ́ ̣ Vi du: ProcessDelegate process; Khơi đâu biên như 1 tham chiêu đên bât kỳ ham nao có ̉ ̀ ́ ́ ́ ́ ̀ ̀ cung kiêu trả về (return type) và danh sach đôi số ̀ ̉ ́ ́ (parameter list) như cua delegate. ̉ Ví du: Nêu ham Multiply có cung signature với delegate có ̣ ́ ̀ ̀ tên là process static double Multiply(double param1, double param2) { return param1 * param2; } Khởi tao biên process ̣ ́ process = new ProcessDelegate(Multiply); 6Thực thi delegate Khi đã khởi đâu biên, có thể goi ham thông ̀ ́ ̣ ̀ qua biên delegate như thể nó là 1 ham. ́ ̀ Ví du: ̣ Console.WriteLine(Result: {0}, process(13.5, 67)); 7The type or signature of the method the delegatecan point to int Add(int a, int b) { return a+b; Signature of these two } methods: int Subtract(int c, int d) int aMethod(int p, int q) { return c-d; } define the type of a delegate using the delegate keyword delegate int MyDelegate(int p, int q);The type or signature of the method the delegatecan point to define the type of a delegate using the delegate keyword delegate int MyDelegate(int p, int q); The reference of this delegate type can be used to point to any method which takes two integers as parameters and returns an integer value. ́Biên delegate trong C# In C# 1.0 and later, delegates can be declared as shown here: public delegate void Del(T item); public void Notify(int i) { } Del d1 = new Del(Notify); In C# 2.0 and later, it is also possible to use an anonymous method to declare and initialize a delegate by using this simplified syntax: Del d2 = Notify; 10Passing delegates to methods Tham chiêu delegate cua 1 method có thể được chuyên ́ ̉ ̉ ̀ ́ (pass) vao 1 method khac.static void PerformArithOperation(double a, double b, processDelegate arithOperation) { double r = arithOperation(a, b); Console.WriteLine( The result of arithmetic operation on 3 and 4 is: {0}, r); } Method nay được goi như sau: ̀ ̣ PerformArithOperation(3, 4, ...
Tìm kiếm theo từ khóa liên quan:
Lập trình Windows Lập Trình C # Lập Trình C Shap kỹ thuật lập trình tài liệu lập trìnhGợi ý tài liệu liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 256 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 200 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 188 0 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 174 0 0 -
bảo mật mạng các phương thức giả mạo địa chỉ IP fake IP
13 trang 157 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 157 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 150 0 0 -
Giáo trình Lập trình C căn bản - HanoiAptech Computer Education Center
136 trang 125 0 0 -
Bài giảng lập trình c căn bản - Trường Apptech - Chương 4
27 trang 117 0 0 -
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 117 0 0