ビューからプレゼンターにフィールド値を公開するために MVP パターンを使用しています。ビューに を追加し、プレゼンターからエラーを追加したいErrorProviderのですが、それは自分のコントロールを公開することを意味します。これは私がやりたくないことです。私の解決策ExposableControlValueは、値を一般的に公開し、関数を追加したクラスを作成することCreateError(string errorMessage)でした。
public interface IExposableControlValue<T>
{
T Value { get; set; }
void CreateError(string errorMessage);
void ClearErrors();
}
私の考えでは、 をProperty参照渡しすると、ジェネリック値は基本的にControlのバッキング フィールドを指すようになります。すべてのErrorProviderロジックはビュー側で処理でき、すべてのエラー チェックはプレゼンターで処理できます。
明らかに、私がここにいるのはProperty、参照渡しができないためです。また、私が見たすべての例は、この例で解読できるほど私の状況に近いわけではありません。
T Get()それを行う方法があれば、メソッドを動的に設定しても問題Set(T value)ありませんが、要するに、クラスインスタンス内でそのプロパティを「ライブ」にすることを模倣したいと思います。