プロジェクトのいくつかのコア機能を持ついくつかの抽象クラスがあります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
で構成されている可能性があることです。AbstractImpl1
AbstractImpl2
これに対処するためのクリーンな方法はありますか?現在、オブジェクトを反復処理するすべての場所をブロックでabsControlCollection
囲み、オブジェクトを反復処理してからキャッチし、オブジェクトを反復処理します。try/catch
AbstractImpl1
InvalidCastException
AbstractImpl2
さらに情報が必要な場合はお知らせください。ありがとう!