1. Trang chủ
  2. » Công Nghệ Thông Tin

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

14 185 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 198,5 KB

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

Nội dung

 Định nghĩa delegate• Muốn gọi một phương thức chúng ta phải gọi thông qua đối tượng hoặc thông quan lớp nếu phương thức là tĩnhcó từ khóa static đặt trước.. • Chúng ta có thể gọi một

Trang 1

Delegate và Event

Trang 2

• System.Collections.generic

• Generic class

• Generic method

• Generic interface

• Iterator

Trang 3

Subject name / Session# / 3 of Totalpage

• Định nghĩa delegate

• Khai báo delegate

• Sử dụng delegate

• Multicast delegate

• Các đặc điểm của delegate

• Định nghĩa event

• Khai báo và sử dụng event

Trang 4

 Đị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();

}

}

}

Trang 5

 Định nghĩa delegate

• Muốn gọi một phương thức chúng ta phải gọi thông qua đối tượng

hoặc thông quan lớp nếu phương thức là tĩnh(có từ khóa static đặt trước)

• Chúng ta có thể gọi một phương thức một cách gián tiếp thông qua delegate

• Delegate giống như khái niệm con trỏ hàm trong ngôn ngữ C và C+ + Nó dùng để tham chiếu đến một phương thức

• Đối tượng delegate chứa(bao gói) sự tham chiếu đến một phương thức trong nó

Trang 6

 Khai báo delegate

delegate result-type identifier ([parameters]);

• Trong đó delegate là từ khóa

• result-type là kiểu dữ liệu trả về, phải giống kiểu dữ liệu trả về của phương thức mà

delegate tham chiếu đến

• identifier là tên delegate

• Parameters là các tham số, phải giống kiểu và số lượng đối số của phương thức mà delegate định tham chiếu đến

public delegate void SimpleDelegate ()

− Khai báo một delegate tên là SimpleDelegate, delegate này có thể tham chiếu đến bất kỳ phương thức nào không có đối số và không có kiểu dữ liệu trả về.

public delegate int ButtonClickHandler (object obj1, object obj2)

Trang 7

 Sử dụng delegate

• Gồm 3 bước:

− Khai báo delegate

delegate result-type identifier ([parameters]);

− Viết phương thức mà delegate sẽ 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

<DelegateName> objectName = new <DelegateName>(<MethodName>);

− Gọi đối tượng delegate

ObjectName(parameters);

Trang 8

 Multicast delegate

• Một delegate có thể tham chiếu đến nhiều hơn một phương thức tại

một thời điểm

• Sử dụng toán tử +=

Trang 9

 Tại sao cần delegate

• Dùng để tạo ra cơ chế truyền dữ liệu qua sự kiện trong mô hình lập

trình hướng sự kiện

• Khi đối tượng A phát sinh một sự kiện, nó mu n truy n s ki n này ố ề ự ệ sang B Nh ng A ư đượ c vi t tr ế ướ c (A là m t button ch ng h n) ộ ẳ ạ

c vi t tr c B (Ví d B là m t Form ch ng h n) nên A không

th bi t B có nh ng ph ể ế ữ ươ ng th c nào ứ để ọ g i Nên c n nh ngh a ầ đị ĩ

tr ướ c m t nguyên m u cho A r i implement trong B , r i A g i B ộ ẫ ồ ồ ọ qua nguyên m u này ẫ

Trang 10

 Định nghĩa event

• Event(sự kiện) được tạo ra bởi người dùng hoặc hệ thống Ví dụ khi người

dùng click lên một Button

Publisher là đối tượng

thực hiện công việc nào đó

Và tạo ra event

Subcribers là đối tượng đã

gược đăng ký(subscribed)

để nhận sự kiện

Trang 11

 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;

Trang 13

 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 handler)

• Tạo event(raise event)

Trang 14

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

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

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