Fixed type filtering in assembly extensions

This commit is contained in:
Sven Reichelt 2020-06-08 11:36:32 +02:00
parent 41348b285d
commit 3503f20255
No known key found for this signature in database
GPG Key ID: F1C6E2215665A760

View File

@ -35,7 +35,7 @@ namespace System.Reflection
return assembly.GetTypes()
//.Where(t => t.GetInterfaces().Contains(interfaceType));
.Where(x => interfaceType.IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract);
.Where(x => !x.IsInterface && !x.IsAbstract && interfaceType.IsAssignableFrom(x));
}
public static IEnumerable<Type> GetTypes<T>(this Assembly assembly)
@ -51,7 +51,7 @@ namespace System.Reflection
}
var type = typeof(T);
var list = assembly.GetTypes()
.Where(x => type.IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract && !x.IsGenericType);
.Where(x => !x.IsInterface && !x.IsAbstract && !x.IsGenericType && type.IsAssignableFrom(x));
foreach (var type1 in list)
{