मान लें मैं एक ही विधानसभाएक ही असेंबली में परिपत्र संदर्भ एक बुरी बात है?
public class ParentClass : IDisposable
{
public ChildClass Child
{
get { return _child; }
}
}
public class ChildClass
{
public ParentClass Parent
{
get { return _parent; }
set { _parent= value; }
}
public ChildClass (ParentClass parent)
{
Parent= parent;
}
}
मुझे सही अगर मैं गलत हूँ में निम्नलिखित वर्गों है, लेकिन यह बुरा डिजाइन है। क्या इससे बाद में मेमोरी लीक या कुछ अन्य असुरक्षित मुद्दों का कारण बन जाएगा? स्पष्ट रूप से कचरा कलेक्टर such kind of circular references को संभालने में सक्षम है।
संपादित
क्या होगा अगर दो वर्गों अंत कुछ अन्य वर्ग में इस तरह इस्तेमाल किया जा रहा है?
ParentClass objP = new ParentClass();
ChildClass objC =new ChildClass(objP);
objP.Child = objC;
विचार कृपया ....
एक पदानुक्रमित पेड़ डेटा संरचना में (जैसे ' 'ParentProductGroup' प्रॉपर्टी के साथ उत्पाद समूह' वर्ग), यह मेरी राय में पूरी तरह मान्य है। –
मिमी .. मुझे नहीं पता कि "बुरा" यह कैसे है .. यह एक डबल लिंक्ड सूची की परिभाषा है .. और जीसी इसका ख्याल रखता है .. – gbianchi
ओ/आरएम उपकरण हर समय इस तरह कोड उत्पन्न करते हैं। – Steven