C# में System.Reflection नेमस्पेस उन प्रकारों को समाहित करता है जो मेटाडेटा की जांच करके असेंबली, मॉड्यूल, सदस्य, पैरामीटर और कोड में अन्य वस्तुओं के बारे में जानकारी प्रदान करते हैं। इस नेमस्पेस में Assembly क्लास एक असेंबली को दर्शाता है। आमतौर पर, आप इसे किसी Type पर Assembly प्रॉपर्टी का उपयोग करके एक्सेस कर सकते हैं।
एक असेंबली की पहचान में चार आइटम होते हैं −
- सरल नाम
- AssemblyVersion विशेषता में संस्करण, major.minor.build.revision फॉर्मेट में (अनुपस्थित होने पर 0.0.0.0)
- कल्चर (सैटेलाइट न होने पर न्यूट्रल)
- पब्लिक की टोकन (स्ट्रॉन्गली नेम्ड न होने पर null)
एक पूर्ण योग्य असेंबली नाम एक स्ट्रिंग है, और इसमें ये पहचान आइटम निम्न फॉर्मेट में शामिल होते हैं −
simple-name, Version=version, Culture=culture, PublicKeyToken=public-key
उदाहरण के लिए,
Assembly assembly = typeof (Person).Assembly; // Person is a class name // Prints: c-sharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null Console.WriteLine(assembly.FullName);
असेंबली लोडिंग एक ज्ञात स्थान से असेंबली लोड करने की प्रक्रिया है। आमतौर पर, CLR इसके पूर्ण नाम का उपयोग करके असेंबली लोड कर सकता है। इस प्रक्रिया को असेंबली रिज़ॉल्यूशन कहा जाता है। असेंबली रिज़ॉल्यूशन तब किया जाता है जब CLR को निर्भरता हल करने की आवश्यकता होती है या आप, एक प्रोग्रामर के रूप में, Assembly.Load(assemblyName) विधि का उपयोग करके असेंबली को डायनामिक रूप से लोड करना चाहते हैं।