У меня есть модель представления, подобная той, которая создана на моем валидаторе.Динамическая проверка каждого значения KeyValuePair модели
public class ViewModel
{
public KeyValuePair<int, RuleType> Foo { get; set; }
public KeyValuePair<string, RuleType> Bar { get; set; }
}
Моя реальная модель просмотра имеет 20+ полей. Как только мои данные будут проверены, общий список типа ViewModel
затем возвращается в мое представление MVC и обрабатывается в отчете. Однако появился запрос функции, в котором пользователи хотят видеть только модели с ошибками и предупреждениями, исключая действительные объекты. RuleType
- перечислитель. Модель действительна, если все значения пары ключей: RuleType.Success
.
Можно ли прокручивать каждую модель и проверять RuleType
без необходимости вручную проверять каждое свойство? Моя функция GetAllModelsWithErrors()
вернет список недопустимых моделей. Я считаю, что отражение может быть решением, но я не уверен, что это хорошее решение.
Вы можете либо зарегистрировать все свойства вашей ViewModel или использовать отражение. Вы можете зарегистрировать их, например, с помощью мутанта 'set' каждого свойства (таким образом, вы получите коллекцию экземпляров' KeyValuePair', и вы можете проверить их). –