2010-06-01 10 views
9

मुझे क्लास लोडर की अवधारणा .NET Framework में क्या है इस पर कोई अच्छा दस्तावेज नहीं मिल रहा है? यह क्या है? यह कहां मिल सकता है? क्या कोई जानता है?.NET कक्षा लोडर - यह क्या है?

+1

में बेहतर उत्तर टैग करें, आप .NET में क्लास लोडर के रूप में _is_ ऐसी चीज़ क्यों मानते हैं? –

+1

किसी ने मुझसे यह प्रश्न पूछा और कभी भी इसमें नहीं आया। मुझे पता है कि जावा में अवधारणा मौजूद है और यह सोच रहा था कि क्या .NET में समकक्ष था। – user118190

उत्तर

13

.NET असेंबली में तैनाती की मौलिक इकाई है। वास्तव में असेंबली को लोड करने वाली तकनीक को फ़्यूज़न कहा जाता है। उस पर अधिक जानकारी के लिए .NET Fusion Workshop पढ़ें। प्रत्येक असेंबली में उस विधानसभा से प्रकार लोड करने के लिए अपना स्वयं का वर्ग लोडर होता है।

Hosting the Common Language Runtime भी रुचि का हो सकता है।

मुझे नहीं लगता कि .NET में क्लास लोडर जावा में समान महत्व या शक्ति रखता है। कक्षा की लोडिंग असेंबली के वर्ग लोडर द्वारा संभाला जाएगा।

गतिशील लोड हो रहा है आम तौर पर विधानसभा लोड हो रहा है और उसके बाद instantiating वर्ग द्वारा किया जा जाएगा:

Assembly assembly = Assembly.LoadFrom("assemblyName"); 
Type type = assembly.GetType("className"); 
object x = Activator.CreateInstance(type); 
+0

धन्यवाद। – user118190

2

आपका क्या मतलब है? जावा क्लास लोडर के लिए एक समान अवधारणा? .Net में अवधारणा को AppDomain (केवल AppDomain के लिए खोजें)

+0

हां, मैं जावा क्लास लोडर के बराबर की तलाश में हूं! तो, क्या मुझे ऐपडोमेन की तलाश करनी चाहिए और उस पर पढ़ना चाहिए? – user118190

+0

** AFAIK **, वे समकक्ष अवधारणाएं हैं, मेरा मतलब है, दोनों को सुरक्षा सीमा के रूप में उपयोग किया जाता है, एक वर्ग लोडर/ऐप डोमेन में लोड किए गए प्रकार, सामान्य रूप से अन्य क्लास लोडर/ऐप डोमेन में ऑब्जेक्ट्स द्वारा उपयोग नहीं किए जा सकते हैं, आदि आप वास्तव में क्या करने की कोशिश कर रहे हैं? –

+2

मैं जावा आंतरिक से परिचित नहीं हूं लेकिन जावा क्लास लोडर और .NET AppDomain मेरे लिए अलग दिखता है। विकिपीडिया से: "जावा क्लासलोडर जावा रनटाइम पर्यावरण का एक हिस्सा है जो जावा वर्चुअल मशीन में जावा क्लासेस को गतिशील रूप से लोड करता है।" और "सामान्य भाषा रनटाइम में, एक एप्लिकेशन डोमेन एक तंत्र है (एक ऑपरेटिंग सिस्टम में एक प्रक्रिया के समान) निष्पादित सॉफ़्टवेयर अनुप्रयोगों को एक-दूसरे से अलग करने के लिए उपयोग किया जाता है ताकि वे एक-दूसरे को प्रभावित न करें। ऐपडोमेन के बराबर एक जेवीएम उदाहरण नहीं होगा? उपयोगी जानकारी के लिए –

4

रैंडी लेवी के सभी का जवाब नहीं दिया। कक्षा लोडर ने असेंबली की तुलना में अधिक नौकरियां की हैं। लोड से। क्योंकि 'विधानसभा' जैसी कोई विधि नहीं है। असेंबली केवल एपडोमेन बंद करके अनलोड किया जा सकता है। जावा का क्लास लोडर रैंडी लेवी के जवाब से बहुत कुछ कर सकता है। यहां stackoverflow Equivalent of Class Loaders in .NET

संबंधित मुद्दे