Andere Antworten arbeiteten nicht mit einer generische Schnittstelle .
Diese hier tut es, ersetzen Sie einfach typeof(ISomeInterface) durch typeof (T).
List<string> types = AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => x.GetTypes())
.Where(x => typeof(ISomeInterface).IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract)
.Select(x => x.Name).ToList();
Also mit
AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => x.GetTypes())
erhalten wir alle Baugruppen
!x.IsInterface && !x.IsAbstract
wird verwendet, um die Schnittstelle und die abstrakten auszuschließen und
.Select(x => x.Name).ToList();
um sie in einer Liste zu haben.