假设我有坦克、飞机和许多其他东西的列表,它们实现的最常见的东西是 IHaveLocation 和抽象类和 IHaveColor 接口。
我想列出它们,因为我需要在这两个接口的基础上查询列表。
我该怎么做 ?
- 我可以制作一个对象列表,然后编写 (obj as IHaveLocation) 并使用他的方法,以及 (obj as IHaveColor) 并使用他的方法。但这非常非常难看!
- 我可以列出IhaveLocation,然后我只需要做一个(obj as IHaveColor)。但这也很可怕
- 我可以创建一个新的抽象类,然后从两者继承,但我试图避免它。
这有什么诀窍吗?
我想做类似的东西List<IHaveLocation and IHaveColor>