जब रीशर्पर एक संक्रमणीय संदर्भ की बात करता है, तो इसका अर्थ यह है कि एक असेंबली का संदर्भ जो किसी अन्य, मध्यस्थ असेंबली के संदर्भ में स्पष्ट रूप से किया जाता है। उदाहरण के लिए, कहें कि मेरे पास एक असेंबली "Core.dll" वाला प्रोजेक्ट है। मैं "features.dll" नामक एक प्रोजेक्ट बनाता हूं जो संदर्भ Core.dll को संदर्भित करता है। यह एक प्रत्यक्ष संदर्भ है।
अब कहें कि मैं एक परीक्षण प्रोजेक्ट जोड़ता हूं, सुविधाएँ.Tests.dll। यह असेंबली Features.dll में कोड का परीक्षण करती है, और इसलिए विशेषताएं.dll का प्रत्यक्ष संदर्भ है। इसके बाद संदर्भ इस तरह दिखते हैं:
Features.Tests.dll -(References)-> Features.dll -(References)-> Core.dll
प्रत्येक डीएल सीधे इसका उपयोग करने वाले डीएलएल का संदर्भ देता है। लेकिन हम यह भी कह सकते हैं कि सुविधाएँ.Tests.dll में Core.dll पर "transitive संदर्भ" है। आईई .:
Features.Tests.dll -(References)-> Core.dll
आखिरकार, Core.dll मौजूद नहीं होने पर यह नहीं चल सकता है।
रीशेर्पर के आर्किटेक्चर व्यू का उपयोग करते समय, ट्रांजिटिव संदर्भ डिफ़ॉल्ट रूप से छिपाए जाते हैं, सबसे पहले आरेख को सरल बनाने के लिए, लेकिन यह भी कि क्योंकि संक्रमणीय संदर्भ निहित है - यदि चित्र दिखाता है कि सुविधाएँ.Tests.dll संदर्भ सुविधाएँ.dll, और विशेषताएं हैं। डीएलएल संदर्भ Core.dll संदर्भित करता है, तो यह स्पष्ट रूप से स्पष्ट है कि सुविधाएँ.Tests.dll और Core.dll की आवश्यकता है और इसलिए Core.dll को पारगमन से संदर्भित करता है। आप "संक्रमणीय संदर्भ दिखाएं" बटन सक्षम करके संक्रमणीय संदर्भ अधिक दृश्यमान बना सकते हैं।
याद रखने का एक तरीका गणित के बारे में सोचने के लिए कैसे पारदर्शी संदर्भ काम करते हैं, उदाहरण के लिए यदि ए> बी और बी> सी, तो ए> सी। "से अधिक" एक संक्रमणीय संबंध है।
ग्रेट उत्तर, धन्यवाद। – Aybe