मैं इस तरह के कोड का उपयोग करके एक विशिष्ट इंटरफ़ेस को लागू करने वाले प्रकारों के लिए एक असेंबली को स्कैन करने की कोशिश कर रहा हूं:
public List<Type> FindTypesImplementing<T>(string assemblyPath)
{
var matchingTypes = new List<Type>();
var asm = Assembly.LoadFrom(assemblyPath);
foreach (var t in asm.GetTypes())
{
if (typeof(T).IsAssignableFrom(t))
matchingTypes.Add(t);
}
return matchingTypes;
}
मेरी समस्या यह है, कि मुझे कुछ मामलों में ReflectionTypeLoadException
कॉलिंग मिलती है asm.GetTypes()
, उदाहरण के लिए यदि विधानसभा में विधानसभा को संदर्भित करने वाले प्रकार होते हैं जो वर्तमान में उपलब्ध नहीं है।
मेरे मामले में, मुझे उन प्रकारों में कोई दिलचस्पी नहीं है जो समस्या का कारण बनती हैं। जिन प्रकारों को मैं खोज रहा हूं, उन्हें गैर-उपलब्ध असेंबली की आवश्यकता नहीं है।
सवाल यह है कि क्या किसी प्रकार के अपवाद को छोड़ना / अनदेखा करना संभव है, लेकिन फिर भी विधानसभा में निहित अन्य प्रकारों को संसाधित करता है?