【发布时间】:2019-05-14 08:06:06
【问题描述】:
我有一个抽象类 Detail,以及扩展 Detail 的四个类 Rock、Grass、Tree 和 Bush。
Tree 和 Bush 有 Fruit 属性,但其他没有
我有一个 Detail[],其中包含所有 4 种类型的细节,并且给定一个索引,我需要找到该细节的果实,如果有的话。
我不想将 Fruit 属性放在基类 Detail 中,因为并非所有细节都有水果,而且不同种类的细节具有完全不同的属性。
如何在不知道它是什么类型的细节或它是否有结果的情况下获得例如 Detail[17] 的果实(如果没有,可能返回 null)?请记住,可能会有数百种不同类型的细节以及数十种可能的属性。
我正在想象某种标记系统,其中数组中的每个项目可能有也可能没有几个标签中的一个,但这是我迄今为止管理过的最接近的一个。
【问题讨论】:
标签: c# arrays class inheritance abstract-class