2010-12-11 14 views
1

これまでに質問されていた場合は、問題の説明に多くのキーワードの組み合わせを試しましたが、GoogleやSOで何も検索できませんでした。継承と検証で問題が発生するアプリケーションブロックのObjectCollectionValidator

問題は単純です:私はオブジェクトのリストを持っています。私はObjectCollectionValidatorでこのリストをマークしているので、オブジェクトは検証されます。ただし、リスト内のオブジェクトの中には、タイプTではなく、派生タイプのものもあります。

これらの派生型は、妥当性検査が必要な親には存在しないプロパティを持っています。彼らは単にしません。私はVABがObjectCollectionValidatorを扱うときに継承された型をチェックしていないと信じていますが、それは私の意見では瑕疵だから、間違っていると思っています。

ところで、私はEntLibの4.1を使用しています(私が望んでいた間に、EntLib 5.0に切り替えることはできません)。

答えて

2

あなたが目にしているのは、VAB 5.0のデザインバークで、VAB 5.0で解決されました。 VAB 5.0では、ObjectCollectionValidatorAttributeのコレクションプロパティを装飾すると、実際の型を省略することができます。その場合、バリデータは実際の型でオブジェクトを検証します。

VAB 5.0に切り替えることができない場合は、独自のオブジェクトコレクションバリデータを書き込むことができます。これは本当に難しいことではありません。 VAB 5.0のObjectCollectionValidatorAttributeObjectCollectionValidatorのソースを見てください。

幸運。