0

这很难解释。

我有一组盒子,每个盒子都有自己的内容。该框可以出现在多个架子上,如果内容发生更改,我想在全球范围内反映这些更改。

所以我有一个全局的盒子集合,我也从这个集合中为每个架子创建了一个盒子集合。

我的问题是知道盒子在每个架子上的位置。让我们担心X位置。

在一种情况下,我的盒子可能坐在架子的中间,它的 X 位置是 44 厘米。在另一种情况下,同一个框可能位于架子的开头,并且它的 X 位置为 0。

我需要以 Shelf(id).Box(id).PosX 的形式访问它

但这总是会给出一个答案,并且答案应该根据父书架而改变。

我知道这个问题有很多答案,但我希望有人有比我一直在计划的一些事情更优雅的方式。

4

1 回答 1

2

盒子应该知道它在哪里吗?可能不会——您应该能够向货架询问其内容,这意味着询问货架上的盒子在哪里。

myShelf.GetBoxPosition(boxId).PosX

所以盒子没有任何位置信息,这是有道理的,因为它可以在多个位置。架子知道它的内容在哪里,可以回答你的问题。

这里的假设是盒子不会在同一个架子上出现多次 - 否则它必须返回盒子位置的集合,而不是单个盒子位置。

于 2013-03-12T16:59:41.130 回答