我有一些抽象类,它们具有UserControls
我项目中一些的核心功能。我还有两个独立的实现,它们都派生自 Abstract 类;让我们打电话给他们AbstractImpl1
,AbstractImpl2.
此外,我还有在几个地方迭代 Collections
的摘要。UserControls
我遇到的问题是InvalidCastExceptions
- 我需要遍历实现而不是抽象的 UserControls 来获得某些属性(视觉)。除了做 a 之外,有没有一种干净的方法来处理这个问题try/catch
?
例子:
在我的项目中,我有抽象类:AbsUserControl
然后我有两个单独的实现:AbstractImpl1
和AbstractImpl2
在我的主要形式中,我拥有ObservableCollection<AbsUserControl> absControlCollection
然后遍历我所做的项目foreach(AbstractImpl1 userControl in absControlCollection)
以便能够访问视觉方面。问题是它ObservableCollection<AbsUserControl> absControlCollection
可能由AbstractImpl1
或AbstractImpl2
对象组成。
有没有一种干净的方法来处理这个问题?现在,我遍历对象的每个地方absControlCollection
都用一个块包围它try/catch
,尝试遍历AbstractImpl1
对象然后捕获一个InvalidCastException
并继续遍历AbstractImpl2
对象。
让我知道是否需要更多信息。谢谢!