Wednesday 15 April 2015

.net - How do you extract an assembly full name from the assembly qualified name of a type? -


मेरे पास एक प्रकार का एक विधानसभा का नाम है, जैसे

MyNamespace.MyClass, MyAssembly , संस्करण = 1.0.0.0, संस्कृति = तटस्थ, सार्वजनिककीटोकन = शून्य

मैं विधानसभा का पूर्ण नाम निकालना चाहता हूँ, अर्थात

MyAssembly, Version = 1.0 .0.0, संस्कृति = तटस्थ, सार्वजनिककीटोकन = शून्य

जाहिर है मैं यह साधारण स्ट्रिंग पार्सिंग के साथ कर सकता हूं, लेकिन क्या ऐसा करने के लिए एक ढांचा विधि है?

नोट: मेरे पास प्रकार या असेंबली नहीं है, केवल स्ट्रिंग, और यह समस्या का एक अनिवार्य हिस्सा है, इसलिए myType.AssemblyQualifiedName, myType.Assembly.FullName, आदि नहीं जा रहा है

ए एक समारोह स्वीकार करता है जिसका उपयोग विधानसभा को हल करने के लिए किया जा सकता है । रिसाव रद्द नल सामान्य रूप से एक अपवाद फेंकता होता है क्योंकि प्रकार का हल नहीं हो सकता, लेकिन इसे throwOnError पैरामीटर में झूठी झूठी झेलकर दबाया जा सकता है।

हल करने के लिए उपयोग किए गए फ़ंक्शन बाहरी स्कोप में एक स्ट्रिंग चर सेट कर सकते हैं मूल कोड वापस आ जाएगा।

  सिस्टम का उपयोग कर; System.Diagnostics का उपयोग कर; सिस्टम का उपयोग कर। नामस्थान ConsoleApp {सार्वजनिक स्थिर वर्ग कार्यक्रम {सार्वजनिक स्थिर शून्य मुख्य () {var assemblyName = GetAssemblyName ("MyNamespace.MyClass, MyAssembly, संस्करण = 1.0.0.0, संस्कृति = तटस्थ, PublicKeyToken = null"); डीबग। एसेट (असेंबली नाम == "मायऐस्म्बैन्ड, संस्करण = 1.0.0.0, संस्कृति = तटस्थ, सार्वजनिककी टोकन = शून्य"); } सार्वजनिक स्थिर स्ट्रिंग GetAssemblyName (स्ट्रिंग प्रकारनाम) {स्ट्रिंग विधानसभा नाम = शून्य; फ़ंक्शन & lt; विधानसभा नाम, विधानसभा & gt; विधानसभा = समाधान = नाम = & gt; {AssemblyName = name.FullName; वापसी नल; }; Var प्रकार = प्रकार। गेटटाइप (प्रकारनाम, असेंबलीरॉल्वर, रिक्त, गलत); अगर (प्रकार! = नल) वापसी प्रकार। विधानसभागुणित नाम; वापसी विधानसभा नाम; }}}  
पर क्लिक करें

No comments:

Post a Comment