Является ли IDataErrorInfo пустой тратой памяти? - PullRequest
1 голос
/ 10 июля 2011

У меня есть список бизнес-объектов (более 1000) с примерно 50-ю свойствами, которые имеют около 70 различных проверок, которые необходимо выполнить.Кажется, что путь должен использовать правило проверки, но мне действительно нравится IDataErrorInfo.Является ли это пустой тратой памяти на определение IDataErrorInfo для каждого объекта, когда они все время используют одну и ту же проверку?

PS: я не публиковал код, потому что на него было смотреть громадно и утомительно.

Ответы [ 2 ]

2 голосов
/ 10 июля 2011

Я большой поклонник расширения встроенного класса ValidationRule и использования его непосредственно в привязках, в отличие от использования IDataErrorInfo.

Проверьте мой блог здесь, посмотрите, поможет ли это: Вывод привязки данных, проверки и MVVM на следующий уровень - часть 1 . Это концентрируется на том, как использовать его для проверки TextBox, но то же самое относится и к любому привязываемому элементу, то есть столбцам в DataGrid. Преимущества, которые он дает вам, состоят в том, что вы можете не допускать код проверки в своей модели и модели (если вы используете шаблон такого типа), проверка может использоваться повторно в любом месте, и вы можете быть достаточно детализированы с тем, какие проверки применяются и где.

2 голосов
/ 10 июля 2011

IDataErrorInfo просто содержит пару свойств.
У него нет накладных расходов для каждого экземпляра.

Вы должны сделать реализацию, которая хорошо реализуется;не должно быть слишком сложно.

...