TÌM HIỂU NGÔN NGỮ C# VÀ VIẾT MỘT ỨNG DỤNG MINH HỌA phần 6

Delegate và Event Gvhd: Nguyễn Tấn Trần Minh Khang Mặc dù trong ví dụ này hai lớp tương tự như nhau, nhưng bất kỳ lớp nào cũng có thể subscribe một event. Chú ý rằng event được thêm vào bằng toán tử +=. Điều này cho phép các sự kiện mới được thêm vào sự kiện OnSecondChange của đối tượng Clock mà không làm hỏng | Delegate và Event Gvhd Nguyễn Tấn Trần Minh Khang Mặc dù trong ví dụ này hai lớp tương tự như nhau nhưng bất kỳ lớp nào cũng có the subscribe một event. Chú ý rằng event được thêm vào bằng toán tử . Điều này cho phép các sự kiện mới được thêm vào sự kiện OnSecondChange của đối tượng Clock mà không làm hỏng đi các sự kiện đã đăng ký trước đó. Khi LogCurrentTime subscribe vào sự kiện OnSecondChanged ta không cần quan tâm rằng DisplayClock đã subscribe hay chưa. Ví dụ 12-4. Làm việc với event using System using namespace Programming_CSharp lớp giữ thông tin về một sự kiện trong trường hợp này là thông tin về đồng hồ nhưng tốt hơn là phải có thêm thông tin trạng thái public class TimeInfoEventArgs EventArgs public TimeInfoEventArgs int hour int minute int second hour minute second public readonly int hour public readonly int minute public readonly int second lớp chính của ta. public class Clock delegate mà subscribers phải cài đặt public delegate void SecondChangeHandler object clock TimeInfoEventArgs timeInformation sự kiện publish public event SecondChangeHandler OnSecondChange vận hành đồng hồ hàm sẽ phát sinh sự kiện sau mỗi giây public void Run for ngủ 10 milli giây 10 lấy giờ hiện tại dt nếu thời gian thay đổi thông báo cho các subscriber if second 106 Delegate và Event Gvhd Nguyễn Tấn Trần Minh Khang tạo đối tượng TimeInfoEventArgs để truyền cho subscriber TimeInfoEventArgs timeInformation new TimeInfoEventArgs nếu có subscriber thông báo cho chúng if OnSecondChange null OnSecondChange this timeInformation cập nhật trạng thái private int hour private int minute private int second public class DisplayClock subscribe sự kiện SecondChangeHandler của theClock public void Subscribe Clock theClock new TimeHasChanged phương

Không thể tạo bản xem trước, hãy bấm tải xuống
TÀI LIỆU MỚI ĐĂNG
476    17    1    27-11-2024
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.