सर्कुलर संदर्भ तब होता है जब दो या दो से अधिक अन्योन्याश्रित संसाधन लॉक स्थिति का कारण बनते हैं। यह संसाधन को अनुपयोगी बनाता है।
C# में सर्कुलर रेफरेंस की समस्या को संभालने के लिए आपको गारबेज कलेक्शन का उपयोग करना चाहिए। यह परिपत्र संदर्भों का पता लगाता है और एकत्र करता है। कचरा संग्रहकर्ता स्थानीय और स्थैतिक से शुरू होता है और यह प्रत्येक वस्तु को चिह्नित करता है जिसे उनके बच्चों के माध्यम से पहुँचा जा सकता है।
इसके जरिए आप सर्कुलर रेफरेंस से मुद्दों को हैंडल कर सकते हैं।
मान लें कि निम्नलिखित वर्ग परिपत्र संदर्भ में हैं। यहाँ दोनों एक दूसरे पर निर्भर हैं -
public class A { B Two; } public class B { A one; }
समस्या को हल करने के लिए, एक इंटरफ़ेस बनाएं -
public interface myInterface { } public class A { myInterface Two; } public class B: myInterface { A one; }