मान लें कि हमारे पास 3-स्तरीय ऐप है और पी 1, पी 2, पी 3 नामक तीन परियोजनाएं हैं।सी # संदर्भ निर्भरता वीबी के लिए अलग हैं?
निर्भरता: पी 1 (डेटा) < < P2 (व्यापार तर्क) < < पी 3 (प्रस्तुति)
P2 एक आधार वर्ग एक्स कि वाई एक अन्य वर्ग में विरासत में मिला था P2 में मिल गया है । तो, हम पी 2 को रेफरी पी 1 जोड़ते हैं। हालांकि, पी 3 पी 2 का उपयोग करता है। वाई और पी 1 का उपयोग नहीं करता है। एक्स सीधे।
ऐसा करने के लिए हमें पी 3 में रेफरी पी 2 जोड़ना होगा। लेकिन वीबी और सी # के बीच अंतर है।
वीबी में, हम केवल पी 3 में रेफ पी 2 जोड़ते हैं। पी 2 पी 1 का उपयोग करता है लेकिन यह पी 3 के लिए महत्वपूर्ण नहीं है। हम को P3 पर रेफरी पी 1 जोड़ने की आवश्यकता नहीं है। यह काफी है!
लेकिन, में सी #, हम पी 3 को रेफरी P1 और P2 दोनों को जोड़ने के लिए भले ही पी 3 P1.X का उपयोग नहीं करता है। यदि आप रेफरी ए को सी नहीं जोड़ते हैं तो आपको नीचे त्रुटि मिलती है:
प्रकार 'P1.X' को उस असेंबली में परिभाषित किया गया है जिसका संदर्भ नहीं दिया गया है। आपको असेंबली 'पी 1, संस्करण = 1.0.0.0, संस्कृति = तटस्थ, PublicKeyToken = null' का संदर्भ जोड़ना होगा।
हमें सी # में दो परियोजनाओं को क्यों जोड़ना चाहिए?
या, इसके बजाय, क्या हम इस व्यवहार को अवरुद्ध कर सकते हैं?
क्या यह वीबी.नेट/सी # भेद की व्याख्या करता है? –
@ किर्क, नहीं, यह नहीं है ... –
हां, जैसा कि आपने कहा था कि हमें सी # में पी 3 को पी 1 रेफरी जोड़नी है। लेकिन हमें इसे वीबी में जोड़ने की ज़रूरत नहीं है। यह सवाल मैंने पूछा है ... –