1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng ngôn ngữ C#: Bài 7 - Chử Đức Hoàng - Trường Đại học Công nghiệp Thực phẩm Tp. Hồ Chí Minh

10 20 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 1,08 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MyDelegate1 mulDel = new MyDelegate1(Print); 22.[r]

Trang 1

BÀI 7

ỦY NHIỆM, SỰ KIỆN VÀ XỬ LÝ

NGOẠI LỆ TRONG C#

Trang 2

2 v1.0011106203

TÌNH HUỐNG DẪN NHẬP

 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?

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

Trang 3

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 về ngoại lệ, và bắt lỗi, xử lý lỗi 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#

Xây dựng chương trình sử dụng ủy nhiệm, sự kiện và bắt lỗi

Trang 4

4 v1.0011106203

NỘI DUNG

1.1 Uỷ nhiệm

1

1.2 Các phương thức dấu tên

2

1.3 Sự kiện

3

1.4 Xử lý ngoại lệ

4

Trang 5

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:

<Bổ từ truy cập> delegate <Kiểu trả về> <Tên phương thức(tham số)>;

1.1 ỦY NHIỆM - DELEGATE

Trang 6

6 v1.0011106203

• 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

1.1.1 ĐẶC ĐIỂM CỦA DELEGATE

Trang 7

• Sử dụng:

<Tên delegate> <đối tượng> new <Tên delegate(Tên phương thức uỷ nhiệm)>;

• Ủ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

1.1.1 ĐẶC ĐIỂM CỦA DELEGATE (tiếp theo)

Trang 8

8 v1.0011106203

• 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)

• {

• …

• }

• …

Ví dụ:

1.1.1 ĐẶC ĐIỂM CỦA DELEGATE (tiếp theo)

Trang 9

• Gọi delegate

int x = 5, y = 10;

int y = 2;

del1(100, y);

Gọi del1

Gọi del2

1.1.1 ĐẶC ĐIỂM CỦA DELEGATE (tiếp theo)

Trang 10

10 v1.0011106203

• 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

1.2 MULTICAST DELEGATE

Ví dụ multicast delegate

15 void Print(int x,int y) {

16 }

17 Console.WriteLine(“x = {0}, y = {1}”, x, y);

18 void Sum(int x, int y) {

19 Console.WriteLine(“Tong = {0}”, x+y);

20 }

21 MyDelegate1 mulDel = new MyDelegate1(Print);

22 mulDel += new MyDelegate1(Sum);

23 mulDel(5, 10);

24 mulDel -= new MyDelegate1(Print);

25 mulDel(5,10);

Ngày đăng: 01/04/2021, 13:33

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w