Я использую свойство PropertyGrid.SelectedObjects
(свойство управления Winform) для отображения свойств нескольких объектов. У меня есть пользовательский дескриптор для каждого свойства каждого объекта, который выполняет базовую проверку и выполняет бизнес-логику.Как добиться единственной проверки для изменения свойств нескольких объектов
Я хотел бы выполнить только один раз бизнес-логику только тогда, когда будут выполнены все проверки. Как нам это сделать?
Редактировать
PropertyGrid управления, когда значение устанавливается автоматически использует MergedPropertyDescriptor, который вызывает функцию SetValue моего пользовательского дескриптора в цикле, что приводит к множественным бизнес-логики вызова. Что я хочу, чтобы избежать этого без использования каких-либо статической переменной
Edit2 Этот вопрос также размещен в Microsoft Forums
метод отправки (см. Выше) может, конечно, быть изменен на событие клика для элемента кнопки или любого обработчика событий, который вы хотите для yoru «SelectedObjectes». Я всегда ошибаюсь в последнем заявлении «return false». Это не только делает ваш код более чистым, но если что-то, что вы пропустили в валидации, плохо работает, вы всегда будете возвращать false. В приведенном выше примере только функции, возвращающие true, пройдут проверку и бизнес-логику. –
Я не знаю, как это будет в моем случае. Я обновил свой вопрос, чтобы предоставить дополнительную информацию. – keyr