Buna benzer bir kod kullanarak belirli bir arabirim uygulayan türler için bir derlemeyi taramaya çalışıyorum:
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;
}
Benim sorunum, bazı durumlarda ReflectionTypeLoadExceptionçağırırken bir almam asm.GetTypes(), örneğin derleme şu anda mevcut olmayan bir derlemeye başvuran türler içeriyorsa.
Benim durumumda, soruna neden olan türlerle ilgilenmiyorum. Aradığım tipler, mevcut olmayan montajlara ihtiyaç duymuyor.
Soru şudur: istisnaya neden olan türleri bir şekilde atlamak / yok saymak, ancak yine de derlemede bulunan diğer türleri işlemek mümkün müdür?