Bài giảng ngôn ngữ C#: Bài 7 - Chử Đức Hoàng

pdf
Số trang Bài giảng ngôn ngữ C#: Bài 7 - Chử Đức Hoàng 28 Cỡ tệp Bài giảng ngôn ngữ C#: Bài 7 - Chử Đức Hoàng 3 MB Lượt tải Bài giảng ngôn ngữ C#: Bài 7 - Chử Đức Hoàng 0 Lượt đọc Bài giảng ngôn ngữ C#: Bài 7 - Chử Đức Hoàng 3
Đánh giá Bài giảng ngôn ngữ C#: Bài 7 - Chử Đức Hoàng
4.7 ( 9 lượt)
Nhấn vào bên dưới để tải tài liệu
Đang xem trước 10 trên tổng 28 trang, để tải xuống xem đầy đủ hãy nhấn vào bên trên
Chủ đề liên quan

Nội dung

BÀI 7 ỦY NHIỆM, SỰ KIỆN VÀ XỬ LÝ NGOẠI LỆ TRONG C# GV. Chử Đức Hoàng v1.0011106203 1 TÌNH HUỐNG DẪN NHẬP Chương trình được xây dựng một nhiệm vụ lớn như chương trình quản lý học viên của trường đại học Quốc Gia thì cần đến rất nhiều các kỹ thuật tinh vi của ngôn ngữ lập trình. Các ký thuật này không những giúp cho người viết phần mềm dễ dàng thực hiện các công việc mà còn tổ chức và xử lý các lỗi cho chương trình để chương trình chạy ổn định.  v1.0011106203 Ngôn ngữ lập trình C# thực hiện việc uỷ nhiệm, xử lý sự kiện và xử lý các ngoại lệ như thế nào? 2 MỤC TIÊU Trình bày khái niệm, cách thức sử dụng ủy nhiệm trong C#. Trình bày khái niệm sự kiện, và thực hiện chương trình qua các sự kiện trong C#. Trình bày khái niệm về ngoại lệ, và bắt lỗi, xử lý lỗi trong C#. Xây dựng chương trình sử dụng ủy nhiệm, sự kiện và bắt lỗi. v1.0011106203 3 NỘI DUNG v1.0011106203 1 1.1. Uỷ nhiệm 2 1.2. Các phương thức dấu tên 3 1.3. Sự kiện 4 1.4. Xử lý ngoại lệ 4 1.1. ỦY NHIỆM - DELEGATE Khai báo • Uỷ nhiệm(delegate): là kiểu dữ liệu tham chiếu được dùng để đóng gói một phương thức với tham số và kiểu trả về xác định. • Trong delegate thì không cần quan tâm đến những lớp đối tượng mà nó tham chiếu tới mà chỉ cần quan tâm đến các tham số của phương thức và kiểu trả về phải phù hợp với đối tượng ủy quyền khai báo. • Khai báo: delegate ; v1.0011106203 5 1.1.1. ĐẶC ĐIỂM CỦA DELEGATE • Lớp đóng gói các phương thức (method signature) • Dùng trong xử lý sự kiện của C# • Đặc tính  An toàn kiểu (typesafe).  Bảo mật.  Hướng đối tượng. • Tất cả các phương thức đóng gói có cùng kiểu trả về và dạng tham số thì có thể được truyền vào thể hiện của delegate. v1.0011106203 6 1.1.1. ĐẶC ĐIỂM CỦA DELEGATE (tiếp theo) • Sử dụng: <đối tượng> new ; • Ủy quyền được dùng để:  Xác định những loại phương thức có thể được dùng để xử lý các sự kiện  Thực hiện callback trong chương trình ứng dụng.  Xác định các phương thức tĩnh và các instance của phương thức không biết trước cho đến khi chương trình thực hiện. • Các phương thức được gọi lại thông qua Delegate có thể là:  Một instance method.  Một class method. v1.0011106203 7 1.1.1. ĐẶC ĐIỂM CỦA DELEGATE (tiếp theo) Ví dụ: • public delegate void MyDelegate1(int x, int y) • public delegate string MyDelegate2(float f) • public void Method1(int x, int y) • { • … • } • … • MyDelegate1 del1 = new MyDelegate1(Method1); • public string Method2(float f) • { • • v1.0011106203 • … } … 8 1.1.1. ĐẶC ĐIỂM CỦA DELEGATE (tiếp theo) • Gọi delegate Gọi del1 int x = 5, y = 10; del1(x, y); del1(10, 20); int y = 2; del1(100, y); Gọi del2 float f =0.5f; string s; s = del2(f); v1.0011106203 string s = del2(100f); 9 1.2. MULTICAST DELEGATE • Khi một delegate gói nhiều hơn một phương thức thì nó được gọi là multicast delegate. • Một multicast delegate được gọi thì nó sẽ gọi liên tiếp các phương thức theo thứ tự. • Một delegate có kiểu trả về là void thì trình biên dịch sẽ coi như đây là một multicast delegate. • Một multiccast delegate cho phép nhận toán tử “+”, “-”, “+= “, “-=“. • Một muticast delegate là một lớp được dẫn xuất từ lớp System.MulticastDelegate. Ví dụ multicast delegate 15. 16. 17. 18. 19. 20. void Print(int x,int y) { } Console.WriteLine(“x = {0}, y = {1}”, x, y); void Sum(int x, int y) { Console.WriteLine(“Tong = {0}”, x+y); } 21. 22. 23. 24. 25. MyDelegate1 mulDel = new MyDelegate1(Print); mulDel += new MyDelegate1(Sum); mulDel(5, 10); mulDel -= new MyDelegate1(Print); mulDel(5,10); v1.0011106203 10
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.