プロジェクトのいくつかのコア機能を持ついくつかの抽象クラスがありますUserControls。また、Abstractクラスから派生した2つの別個の実装があります。AbstractImpl1それらを呼び出しましょうAbstractImpl2. 。さらに、私はいくつかの場所で繰り返す Collections要約を持っています。UserControls
私が抱えている問題はInvalidCastExceptions、特定のプロパティ(ビジュアル)に到達するために、abstact UserControlsではなく、実装を反復処理する必要があることです。を行う以外にこれに対処するためのクリーンな方法はありtry/catchますか?
例:
私のプロジェクトには抽象クラスがあります:AbsUserControl
それから私はそれらの2つの別々の実装を持っています:AbstractImpl1そしてAbstractImpl2
私のメインフォームでは、視覚的な側面にアクセスできるようにするために、ObservableCollection<AbsUserControl> absControlCollectionアイテムを繰り返し処理しています。foreach(AbstractImpl1 userControl in absControlCollection)問題は、またはオブジェクトObservableCollection<AbsUserControl> absControlCollectionで構成されている可能性があることです。AbstractImpl1AbstractImpl2
これに対処するためのクリーンな方法はありますか?現在、オブジェクトを反復処理するすべての場所をブロックでabsControlCollection囲み、オブジェクトを反復処理してからキャッチし、オブジェクトを反復処理します。try/catchAbstractImpl1InvalidCastExceptionAbstractImpl2
さらに情報が必要な場合はお知らせください。ありがとう!