Tôi muốn tạo một EventHandler tùy chỉnh có thể có bất kỳ số lượng đối tượng nào như các tham số của nó và các đối tượng mà nó không được biết trước.C# - Tạo EventHandler có thể lấy số tham số
Tôi biết tôi có thể vượt qua nó một Object [] nhưng những gì tôi muốn là một cái gì đó tương tự như
MyEventHandler someCustomEvent(Object obj1, Object obj2, Object obj3)
nơi số lượng đối tượng có thể là 0 hoặc 10 nếu cần thiết.
EDIT:
Vì vậy, nhờ vào các ý kiến và câu trả lời tôi đã bị tôi đã đến đây,
public class FinishedEventArgs : EventArgs {
public Object[] Args{ get; set; }
}
protected void OnFinished(params Object[] args) {
if(this.Finished != null) {
this.Finished(this, new FinishedEventArgs() {
Args = args
});
}
}
Liệu nó trông chấp nhận được?
Làm thế nào về sử dụng 'params object [] args'? – shahkalpesh
Cảm ơn bạn đã chỉ ra các thông số, khá nhiều những gì tôi đang tìm kiếm. Bây giờ làm thế nào tôi sẽ đi về việc sử dụng params với thực hành tốt nhất mà Kent đã viết trong câu trả lời của mình? –
Có lẽ chúng tôi sẽ giải quyết tốt hơn vấn đề đã dẫn bạn đến giải pháp hiện tại này, hơn là cố gắng khắc phục giải pháp này. I E. định nghĩa trình xử lý sự kiện này có vẻ nghi ngờ, vậy vấn đề là nó thực sự giải quyết cho bạn là gì? Tại sao bạn không biết những gì các đối tượng bạn sẽ vượt qua để xử lý sự kiện? Tại sao họ không có lớp cha mẹ tốt hơn so với đối tượng? vv –