IDataErrorInfo.Error có nên kiểm tra mọi thuộc tính không? Hoặc tôi có thể tin tưởng bất kỳ khách hàng nào để gọi IDataErrorInfo.Item trên mọi thuộc tính không?IDataErrorInfo.Error có nên kiểm tra mọi thuộc tính không?
8
A
Trả lời
13
IDataErrorInfo.Error được sử dụng để báo cáo trạng thái xác thực cho toàn bộ đối tượng. Ví dụ nếu đối tượng của bạn có các thuộc tính StartTime và EndTime, có thể bạn sẽ muốn StartTime nhỏ hơn EndTime và nếu quy tắc xác nhận này bị hỏng thì sẽ không thích hợp để hiển thị thông báo cho cả một thuộc tính lẫn thuộc tính khác.
Thuộc tính lỗi cũng thích hợp để tóm tắt trạng thái xác thực tổng thể của đối tượng của bạn. Vì vậy, câu trả lời là không - bạn không nên kiểm tra mọi tài sản. Thông báo lỗi liên quan đến thuộc tính cụ thể được hiển thị bởi
string this[string columnName]
lập chỉ mục.
EDIT: tại đây link giải thích cách giao diện được cho là được sử dụng.
Các vấn đề liên quan
- 1. Kiểm tra xem thuộc tính CoreData có trống không
- 2. Cách kiểm tra xem thuộc tính có ảo không?
- 3. Tôi có nên viết bài kiểm tra đơn vị cho mọi thứ không?
- 4. Kiểm tra thuộc tính lớp python
- 5. Kiểm tra xem nút Xml có thuộc tính
- 6. Tôi có nên mở rộng ArrayList để thêm các thuộc tính không phải là null không?
- 7. Cách kiểm tra nhiều thuộc tính trong XPath?
- 8. .NET WF4: Có nên ở giữa mọi thứ không?
- 9. Có bộ chọn jQuery để kiểm tra xem thẻ có thuộc tính nào không?
- 10. Thuộc tính kiểm tra hộp kiểm Ngọc không được kiểm soát dựa trên điều kiện (nếu)
- 11. Tôi có nên viết kiểm tra tích hợp hoặc kiểm tra đơn vị không?
- 12. Tôi có nên tránh không kiểm tra trong chế độ xem Rails không?
- 13. Có thuộc tính nào để tránh thất bại kiểm tra đơn vị thác trong MSTest không?
- 14. Kiểm tra thuộc tính QuickCheck đối với nhiều loại?
- 15. Làm thế nào để kiểm tra va chạm 2D mà không kiểm tra mọi đối tượng
- 16. Kiểm tra xem nút XML có thuộc tính với LINQ C# không?
- 17. jQuery: Kiểm tra xem thuộc tính name có bằng một chuỗi đã cho không
- 18. Làm cách nào để kiểm tra xem thuộc tính có tồn tại trong XmlAttributeCollection không?
- 19. Làm cách nào để kiểm tra xem một lớp groovy có thuộc tính tĩnh hay không?
- 20. Cách kiểm tra xem một đối tượng có phương pháp/thuộc tính nhất định không?
- 21. Kiểm tra xem JS có hỗ trợ thuộc tính CSS không?
- 22. Cách kiểm tra xem trình duyệt có hỗ trợ thuộc tính giữ chỗ gốc không?
- 23. XPath: Cách kiểm tra xem một thuộc tính có tồn tại không?
- 24. Kiểm tra các thuộc tính hộp kiểm tra là đúng, nhưng đánh dấu không được hiển thị
- 25. kiểm tra sự tồn tại của thuộc tính
- 26. Cách kiểm tra nhiều thuộc tính của một đối tượng
- 27. Thuộc tính kiểm tra chính tả Textarea XHTML Strict
- 28. kiểm tra thuộc tính trong JSTL <c:if> thẻ
- 29. kiểm tra nếu một thuộc tính MSBuild được xác định?
- 30. cách kiểm tra thuộc tính html với rspec?
Những gì bạn nói có vẻ hợp lý, nhưng bạn có gì để sao lưu âm thanh không? Dường như việc sử dụng sự phản chiếu để có được tất cả các thuộc tính cần kiểm tra sẽ khá tốn kém. –
Bạn có thể kiểm tra cách các điều khiển của Microsofts (như DataGrid) phản ứng với dữ liệu thực hiện giao diện. Bạn có thể quan sát các cuộc gọi mà nó thực hiện. Nếu bạn vẫn chưa thuyết phục, bạn có thể kiểm tra http://msdn.microsoft.com/en-us/library/system.componentmodel.idataerrorinfo%28VS.95%29.aspx liên kết đó và ví dụ cách nó được sử dụng. – Koynov
liên kết MSDN trong câu trả lời cho biết "Lưu ý rằng công cụ ràng buộc không bao giờ sử dụng thuộc tính Lỗi, mặc dù bạn có thể sử dụng nó trong báo cáo lỗi tùy chỉnh để hiển thị lỗi cấp đối tượng". Tuy nhiên tôi nhận được một breakpoint hit bên trong "Lỗi" trong đó có BindingExpression.TransferValue trong callstack: - / –