Я использую шаблон MVP, чтобы вывести значения полей из моего представления в мой презентатор. Я хотел бы добавить ErrorProvider
в мой просмотр и добавить ошибки из Presenter, но это означало бы разоблачение моих элементов управления, которые я не собираюсь делать. Мое решение включало создание класса ExposableControlValue
, который предоставляет общее значение и имеет добавленную функцию CreateError(string errorMessage)
.MVP ErrorControl Свойство
public interface IExposableControlValue<T>
{
T Value { get; set; }
void CreateError(string errorMessage);
void ClearErrors();
}
Моя мысль была, я пройду в Property
по ссылке, и теперь мое общее значение будет по существу указывают на основы поля Control
«s. Вся логика ErrorProvider
может обрабатываться. Сторона просмотра и вся проверка ошибок могут обрабатываться ведущим.
Очевидно, что я здесь, потому что вы не можете передать Property
по ссылке, и все примеры, которые я видел, не настолько близки к моей ситуации, что я могу их расшифровать для этого примера.
Я бы тоже был настроен с настройками T Get()
, Set(T value)
динамически, если есть способ сделать это, но, короче говоря, я хотел бы подражать тому, что Property 'live' внутри моего экземпляра класса.