J'utilise un modèle MVP pour exposer les valeurs de champ de ma vue à mon présentateur. Je voudrais ajouter un ErrorProvider
à ma vue et ajouter les erreurs du Presenter, mais cela signifierait exposer mes contrôles, ce que je ne tiens pas à faire. Ma solution impliquait la création d'une classe ExposableControlValue
qui expose une valeur génériquement et qui a la fonction ajoutée CreateError(string errorMessage)
.MVP Propriété ErrorControl
public interface IExposableControlValue<T>
{
T Value { get; set; }
void CreateError(string errorMessage);
void ClearErrors();
}
Ma pensée était, je vais passer dans le Property
par référence et maintenant ma valeur générique soulignerai essentiellement au champ de support de Control
. Toute la logique ErrorProvider
peut être gérée côté View et toute la vérification des erreurs peut être gérée par le présentateur. De toute évidence, je suis ici parce que vous ne pouvez pas passer le Property
par référence, et tous les exemples que j'ai vus ne sont pas assez proches de ma situation que je peux les déchiffrer pour cet exemple. J'aurais aussi bien définir les méthodes T Get()
, Set(T value)
dynamiquement s'il y avait un moyen de le faire, mais en résumé, je voudrais imiter avoir cette propriété 'live' dans mon instance de classe.