Saya memiliki situasi di mana orang tua saya tahu tentang itu anak (duh) tetapi saya ingin anak itu dapat merujuk orang tua. Alasan untuk ini adalah bahwa saya ingin anak memiliki kemampuan untuk menetapkan dirinya sebagai yang paling penting atau paling tidak penting ketika rasanya seperti itu. Ketika anak melakukan ini, ia memindahkannya ke atas atau bawah anak-anak orang tua.
Di masa lalu saya telah menggunakan properti WeakReference pada anak untuk merujuk kembali ke orang tuanya, tapi saya merasa itu menambah overhead yang mengganggu, tapi mungkin itu hanya cara terbaik untuk melakukannya.
Apakah ini hanya ide yang buruk? Bagaimana Anda menerapkan kemampuan ini secara berbeda?
Pembaruan 1: Menambahkan lebih banyak konteks. Ini adalah sistem render sehingga wadah induk adalah daftar jendela yang dikelompokkan bersama. Item anak (jendela) yang mengatakan "Aku yang paling penting!" ingin dasarnya diberikan di bagian atas sisa jendela.
Orang tua hanyalah wadah logis untuk mengelompokkan anak-anak ini bersama-sama. Saya bisa melihat di mana menambahkan acara untuk memberi sinyal permintaan berada di atas adalah ide bagus. Namun implementasi (apa yang ingin dilakukan anak dengan orang tua), mengapa Anda tidak ingin memiliki tautan anak->? Daftar tertaut ganda melakukan hal ini sehingga orang dapat melintasi ke dan dari sesuatu.
WeakReference
. Pengumpul sampah .net dapat menangani siklus. Jika anak tidak lagi digunakan (orang tua tidak menunjuk ke sana), itu akan dikumpulkan meskipun berisi referensi ke orang tua.