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?