Thắc mắc về Event trong C#

là vậy mình đã học và hiểu cơ bản về phần delegate nhưng vẫn còn khá mơ hồ về event và có một vài thắc mắc các bạn cho mình hỏi là :

private static void Hs_NameChanged(object sender, EventArgs e)

cái this và eventArgs e là gì xin các bạn khai sáng giúp mình và có thể cho mình xin tài liệu liên quan về phần event xin cảm ơn các bạn rất nhiều

Deledate và Event là nói về cách thức một đối tượng ủy quyền cho 1 hoặc nhiều đối tượng khác thực hiện việc gì đó.
Giả dụ có 2 đối tượng A, B trong đó A có dữ liệu và ủy quyền cho B xử lý dữ liệu đó.
A sẽ có 1 delegate hoặc event, B sẽ có hàm xử lý dữ liệu có đối số khớp với delegate hoặc event của A.
Khi khởi tạo xong xuôi. Khi nào muốn ủy quyền thì A sẽ gọi delagate hoặc event đồng thời truyền 2 thông tin là sender và EventArgs. Trong đó:
sender cho biết đối tượng nào đã ủy quyền. Chỗ này thì thằng gọi delegate hoặc event là bản thân nó nên nó sẽ gán sender = this.
EventArgs là các thông tin (dữ liệu) của việc ủy quyền.
Hàm xử lý dữ liệu của B nhận được cả 2 thông tin này. Dựa vào sender nó biết được đối tượng nào đã ủy quyền cho nó hoặc đã phát sinh event. Dựa vào EventArgs để biết được thằng sender đã gửi cho nó cái gì.
Tuy nhiên kiểu đối số sender + EventArgs không phải là cú pháp bắt buộc, Tùy ngữ cảnh, tùy mục đích sẽ có các kiểu khác nhau.

4 Likes

Thanks bạn rất nhiều mình cũng hiểu sơ sơ r bạn có thể cho mình xin tài liệu đọc thêm về phần event đc ko

https://openplanning.net/10591/csharp-delegate-event

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?