我有一种情况,我的父母知道这是孩子(duh),但我希望孩子能够引用父母。原因是我希望孩子有能力在感觉到自己时将自己指定为最重要或最不重要。当孩子这样做时,它将移动到父母孩子的顶部或底部。
过去,我曾在孩子身上使用WeakReference属性来引用其父对象,但我觉得这增加了一个烦人的开销,但这也许是最好的方法。
这只是一个坏主意吗?您将如何以不同方式实施此功能?
更新1:添加更多上下文。这是一个渲染系统,因此父容器是组合在一起的窗口列表。子项(窗口)说“我最重要!” 希望基本上呈现在其余窗口的顶部。
父母只是将这些孩子分组在一起的逻辑容器。我可以看到在哪里添加事件以表明请求位于顶部是一个好主意。但是除了实现(孩子想与父母做什么)之外,为什么不希望有child-> parent链接?双向链接列表可以做到这一点,这样人们就可以遍历某物。
WeakReference
。.net垃圾收集器可以处理周期。如果不再使用该子项(父项未指向该子项),则尽管包含了对父项的引用,也会对其进行收集。