Проверьте, что в коллекции имеется хотя бы один элемент, используя блок приложения проверки.

StackOverflow https://stackoverflow.com/questions/1600510

  •  05-07-2019
  •  | 
  •  

Вопрос

Как с помощью прикладного блока проверки корпоративной библиотеки 4.1 проверить, что свойство коллекции содержит хотя бы один элемент?

Это было полезно?

Решение

Я предполагаю, что вы имеете в виду «из коробки».Если да, то я не думаю, что есть способ напрямую проверить количество элементов в коллекции.

Вот еще несколько способов, которые вы можете попробовать:

  1. Постановите, что вы имеете дело только с нулевыми коллекциями, а не с пустыми коллекциями, и используете Not Null Validator.Хотя это непрактично.

  2. Используйте самопроверку и дайте объекту проверить в коде, что коллекции содержат правильное количество элементов.Будет работать, но приятно иметь проверку в файле конфигурации.

  3. Предоставьте счетчик коллекций как свойство.Это можно сделать, предположив, например, что это коллекция сотрудников, со свойством WorkerCount вашего объекта, который содержит коллекцию, или вы можете создать свои собственные пользовательские коллекции, которые предоставляют свойство count.Затем вы можете использовать средство проверки диапазона для проверки свойства Count.

  4. Создайте собственный валидатор, который сможет проверять количество элементов в коллекции — что-то вроде CollectionCountRangeValidator.


Если бы я хотел разработать что-то быстро, я бы, вероятно, выбрал вариант 3.Однако вариант 4 хорошо вписывается в подход корпоративной библиотеки, а также позволяет проектировать классы независимо от требований проверки.Кроме того, вы всегда можете использовать его в своем следующем проекте.:) И кто-нибудь действительно скучает по созданию собственных коллекций, когда вполне подойдет List?

Другие советы

Это уже реализовано в EntLib Contrib . Это называется CollectionCountValidator.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top