所以我有一个包含“瓷砖”列表的“世界”对象。我还有一个“岛”对象,其中包含来自“世界”“瓷砖”对象列表中的某些“瓷砖”。出于外部目的,我想将世界和岛屿保留为对象/类。我希望能够更改世界列表中图块的值,并在图块类中观察到这些更改,反之亦然。基本上我想要:class World { List<Tile> tiles;}class Islands { // ref here is not syntax List<ref Tile> tiles;}但是ref在列表中不允许作为类型参数。我可以通过某种方式实现此行为,同时使它们尽可能接近对象/类并且没有重复的图块。
1 回答
catspeake
TA贡献1111条经验 获得超0个赞
不是 100% 清楚您的要求。但是,如果您想共享图块,那么World
和Island
引用都会自动看到这些图块值的变化,因为它们正在共享实例(必须是类而不是结构)。虽然这是被动的。如果您需要在这些更改发生时发生某些事情(例如,告诉World
或Island
查看和注意),那么实现一个在属性更改时引发的事件。
如果你需要完全替换一个 tile 并想观察那个变化,那么就实现一个间接层;例如,TileReference
具有Tile
属性的 a。当该属性发生变化时,您可以引发一个事件,处理程序可以观察到全新的磁贴。
- 1 回答
- 0 关注
- 61 浏览
添加回答
举报
0/150
提交
取消