为了账号安全,请及时绑定邮箱和手机立即绑定

在对象/类属性之间共享变量

在对象/类属性之间共享变量

C#
摇曳的蔷薇 2022-11-21 15:42:58
所以我有一个包含“瓷砖”列表的“世界”对象。我还有一个“岛”对象,其中包含来自“世界”“瓷砖”对象列表中的某些“瓷砖”。出于外部目的,我想将世界和岛屿保留为对象/类。我希望能够更改世界列表中图块的值,并在图块类中观察到这些更改,反之亦然。基本上我想要:class World {    List<Tile> tiles;}class Islands {    // ref here is not syntax    List<ref Tile> tiles;}但是ref在列表中不允许作为类型参数。我可以通过某种方式实现此行为,同时使它们尽可能接近对象/类并且没有重复的图块。
查看完整描述

1 回答

?
catspeake

TA贡献1111条经验 获得超0个赞

不是 100% 清楚您的要求。但是,如果您想共享图块,那么WorldIsland引用都会自动看到这些图块值的变化,因为它们正在共享实例(必须是类而不是结构)。虽然这是被动的。如果您需要在这些更改发生时发生某些事情(例如,告诉WorldIsland查看和注意),那么实现一个在属性更改时引发的事件。

如果你需要完全替换一个 tile 并想观察那个变化,那么就实现一个间接层;例如,TileReference具有Tile属性的 a。当该属性发生变化时,您可以引发一个事件,处理程序可以观察到全新的磁贴。


查看完整回答
反对 回复 2022-11-21
  • 1 回答
  • 0 关注
  • 61 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信