8

Sự khác nhau giữa các phương pháp System.ComponentModel.BindingListAdd(object)AddNew() là gì? Các tài liệu MSDN nói điều này:System.ComponentModel.BindingList: Thêm (đối tượng) so với AddNew()

  • Add: Thêm một đối tượng để kết thúc Collection<T>.

  • AddNew: Thêm mục mới vào bộ sưu tập.

Nó có vẻ như cả hai phương pháp thêm một mục vào bộ sưu tập, nhưng Add(object) hiện nó trong một shot trong khi AddNew() là hơi phức tạp hơn. Thử nghiệm của tôi với Add(object) dường như đang hoạt động, nhưng tôi muốn biết liệu tôi có đang sử dụng đúng phương pháp hay không.

Vậy sự khác biệt giữa các phương pháp này là gì?

+4

AddNew thêm đối tượng 'trống'. Chỉ có hàm khởi tạo mặc định đã được chạy. Nó làm tăng sự kiện Thêm mới để cho phép các lớp khác tùy chỉnh khởi tạo đối tượng. Lưu ý rằng EndNew phải được gọi sau khi thiết lập các thuộc tính của nó. Nó không phải là rõ ràng cái nào là 'tốt hơn' trong trường hợp của bạn. Đơn giản thì tốt hơn. –

+1

@ HansPassant bạn là một người tiết kiệm cuộc sống! Tôi đã trải qua hành vi kỳ lạ bởi vì tôi đã không gọi '.EndNew' và tôi đã rất bối rối. Siêu dữ liệu trên '.AddNew' thực sự cần đề cập đến yêu cầu này! –

Trả lời

7

AddNew() tạo đối tượng cho bạn (đó là lý do tại sao nó không có tham số).
Thiết kế được sử dụng bởi lưới, không biết cách tạo đối tượng mới để chuyển đến Add().

Các vấn đề liên quan