- Multicast delegate. - Delegate la 1 kiêu d liêu loai tham chiêu cho phep l u tr. - cac tham chiêu đên ham. - Delegates t ươ ng t nh tham chiêu đôi t ự ư. - ượ ng, nh ng ư đ ượ c dung đê tham chiêu method thay vi tham chiêu đôi. - t ượ ng.. - ươ ng t nh con tro ham trong C. - Khai bao delegate ́ Khai bao delegate. - Delegate đ ượ c khai bao giông nh khai bao ham nh ng. - Khai bao delegate xac đinh loai. - Sau khi khai bao delegate, co thê khai bao biên co kiêu la. - delegate v a khai bao. - Kh i đâu biên nh 1 tham chiêu đên bât ky ham nao co ơ. - Vi du. - public delegate void Del<T>(T item);. - Tham chiêu delegate cua 1 method co thê đ. - Method nay đ ̀ ượ c goi nh sau. - Trong .Net, delegate đ ượ c xem nh loai tham ư ̣ chiêu (reference type) va tât ca delegate đêu. - kê th a t ́ ừ ừ System.Delegate type. - A delegate is a reference type derived from System.Delegate and its instances can be used to call methods with matching. - cua System.Delegate. - Multicast delegate la loai con cua. - System.Delegate.. - Th c thi Multicast Delegate ự. - Đ ượ c khai bao giông nh khai bao delegate. - Multicast delegate's invocation Multicast delegate's invocation. - multicast delegate băng toan t gan. - Phep goi (invocation) cua multicast delegate t. - ươ ng t nh ự ư delegate thông th ườ ng. - Xây d ng hàm Sort ự t ng quát cho m ng ổ ả đ i t ố ượ ng có ki u b t ể ấ. - N u đ i t ế ố ượ ng là ki u s nh int, long, float thì ko có v n đ ể ố ư ấ ề. - Tr ườ ng h p đ i t ợ ố ượ ng ph c khác? ứ. - Cho phép đ i t ố ượ ng t quy đ nh th t ự ị ứ ự c a chúng ủ. - S d ng delegate đ truy n ph ử ụ ể ề ươ ng th c ứ so sánh này vào hàm Sort. - public delegate bool CompareObj(object o1,object o2). - 2 đ i t ố ượ ng c n so sánh ầ Tên c a delegate ủ. - Delegate s tr t i hàm ẽ ỏ ớ Compare riêng c a l p ủ ớ t ươ ng ng ứ. - public delegate bool CompareObj(object o1,object o2);. - new Person(“Quy Mui . - new Person(“Ha Giang . - new Person(“Ngoc Thao . - new Person(“Ha Nam . - The object that raises (triggers) the event is called the event sender.. - The object that captures the event and responds to it is called the event receiver.. - Trình x lý s ki n (eventHandler) trong .NET Framework ử ự ệ đ ượ c mô t nh sau: ả ư. - public delegate void EventHandler. - Tham s 1 ố : ngu n phát sinh s ki n ồ ự ệ. - Tham s 2 ố : EventArgs tham chiêu đên đôi t. - ượ ng cac đôi. - Ph i th c hi n trình x lý s ki n theo đúng m u ả ự ệ ử ự ệ ẫ trên!. - Đôi t ́ ươ ng delegate gi tham chiêu đên ư. - method co cung signature nh khai bao cua. - ươ ng đ ươ ng v i môi event ơ. - ượ ng delegate t ươ ng t nh goi 1 ự ư ̣ method. - ượ c khai bao nh 1 ́ ư. - goi t ng method đ ̣ ừ ượ c tham chiêu b i multicast delegate. - Step 1: Define a public delegate for the event outside any class boundary. - public delegate void EventDelegate(object sender, EventArgs e). - Define a class to generate or raise the event class SomeEventArgs : EventArgs. - The signature of the event handler must be identical to that of the public delegate created in step 1.. - public void OnMyEvent(object sender, EventArgs e). - handle the event. - Instantiate the event generator class created in step 2:. - Add the event handler written in the current class to the event generator class' event.. - ự ớ ự ệ ầ c m i giây s phát ứ ỗ ẽ sinh 1 s ki n ự ệ. - Cho phép 2 l p khác đăng ký x lý s ki n này, m i l p có ớ ử ự ệ ỗ ớ cách x lý riêng: ử. - M t ph ộ ươ ng th c Run: c 1s thì phát sinh s ki n ứ ứ ự ệ OnSecondChange. - T o 2 l p: AnalogClock và DigitalClock nh n x lý s ki n ạ ớ ậ ử ự ệ OnSecondChange c a l p Clock ủ ớ. - delegate void. - delegate void SecondChangeHandler Tên delegate x lý s ki n Tên delegate x lý s ki n SecondChangeHandler ử ử ự ệ ự ệ (object clock (object clock , EventArgs info , EventArgs info. - Đ i t ố ượ ng phát sinh event Đ i t ố ượ ng phát sinh event. - public class Clock { public delegate void. - public void Run. - Đ nh nghĩa trình x lý s ki n c a Clock ị ử ự ệ ủ. - Đăng ký x lý v i trình x lý s ki n trên khi có s ki n ử ớ ử ự ệ ự ệ OnSecondChange c a Clock ủ. - Ch c năng đăng ký v i l p Clock là có x lý khi s ki n ứ ớ ớ ử ự ệ OnSencondChange c a Clock phát sinh ủ. - Ủ y thác cho l p Clock s g i trình x lý đ nh nghĩa bên trên c a ớ ẽ ọ ử ị ủ DigitalClock. - Trình x lý c a DigitalClock ử ủ. - public void Show(object obj, EventArgs args). - Tên c a trình x lý ủ ử Đ i t ố ượ ng phát sinh s ki n ự ệ. - Đăng ký x lý s ki n (nhân s kiên) ử ự ệ ̣ ự. - public void Subscribe(Clock. - new Clock.SecondChangeHandler(. - new Clock.SecondChangeHandler(Show Show. - Đ i t ố ượ ng này s ẽ Đ i t ố ượ ng này s ẽ. - phát sinh s ki n ự ệ phát sinh s ki n ự ệ. - public void Subscribe(Clock theClock). - new Clock.SecondChangeHandler(Show);. - Đăng ký x lý v i trình x lý s ki n trên khi ử ớ ử ự ệ có s ki n ự ệ OnSecondChange c a Clock ủ. - Ch c năng đăng ký v i l p Clock là có x lý khi ứ ớ ớ ử s ki n OnSencondChange c a Clock phát sinh ự ệ ủ. - Ủ y thác cho l p Clock s g i trình x lý đ nh ớ ẽ ọ ử ị. - Đăng ký x lý s ki n c a đ i Đăng ký x lý s ki n c a đ i ử ử ự ệ ự ệ ủ ủ ố ố. - Khi phát sinh s ki n, truy n th i gian hi n ự ệ ề ờ ệ hành ⇒ l p subscribing s s d ng tham s ớ ẽ ử ụ ố này. - T o l p ch a tham s truy n cho trình x lý s ki n ạ ớ ứ ố ề ử ự ệ. - Do mô t c a trình x lý s ki n là tham s th 2 ph i là l p ả ủ ử ự ệ ố ứ ả ớ d n xu t t EventArgs! ẫ ấ ừ. - Trong l p Clock khai báo trình x lý s ki n nh sau ớ ử ự ệ ư. - public delegate void. - public void Subcribe(Clock theClock). - public void Show(object obj, TimeEventArgs timeArg). - Các ph n khác còn l i t ầ ạ ươ ng t nh minh h a 1 ự ư ọ
Xem thử không khả dụng, vui lòng xem tại trang nguồn hoặc xem
Tóm tắt