부모가 자녀에 대해 알고있는 상황이 있지만 자녀가 부모를 참조 할 수 있기를 바랍니다. 그 이유는 아이가 기분이 좋을 때 가장 중요하거나 가장 중요하지 않은 것으로 지정할 수 있기를 원하기 때문입니다. 아이가 이렇게하면 부모 아이의 위나 아래로 움직입니다.
과거에는 자식의 WeakReference 속성을 사용하여 부모를 다시 언급했지만 성가신 오버 헤드가 추가되지만 가장 좋은 방법 일 수 있습니다.
이것은 단지 나쁜 생각입니까? 이 능력을 어떻게 다르게 구현 하시겠습니까?
업데이트 1 : 컨텍스트 추가 이것은 렌더링 시스템이므로 부모 컨테이너는 함께 그룹화 된 창 목록입니다. "가장 중요합니다!"라는 하위 항목 (창) 기본적으로 나머지 창의 맨 위에 렌더링되기를 원합니다.
부모는 이러한 자식을 함께 그룹화하는 논리적 컨테이너 일뿐입니다. 요청을 맨 위에 표시하기 위해 이벤트를 추가하는 것이 좋은 아이디어임을 알 수 있습니다. 그러나 구현 (자녀가 부모와 함께하고 싶은 일)을 제외하고 왜 자녀-> 부모 연결을 원하지 않습니까? 이중으로 연결된 목록을 사용하면 사람들이 무언가를 오갈 수 있습니다.
WeakReference
. .net 가비지 수집기는주기를 처리 할 수 있습니다. 자녀가 더 이상 사용하지 않으면 (부모가 가리 키지 않음) 부모에 대한 참조가 포함되어 있음에도 불구하고 수집됩니다.