Вы должны получить все проекты сборки, подобные этому
public Assembly[] GetAssemblies()
{
var dataAssembly = typeof(AnClassInDataLayer).Assembly;
var businessAssembly = typeof(ACLassInBusinessLayer).Assembly;
var webApiAssembly = typeof(Startup).Assembly;
return new Assembly[] { businessAssembly , dataAssembly, webApiAssembly };
}
, затем
var m = GetAssemblies()
.SelectMany(name => name.GetTypes())// or .SelectMany(a => a.ExportedTypes)
.Where(type => typeof(IMyInterface).IsAssignableFrom(type))
.ToList();
Обновление
In. Net Ядро, если WebApi
проект ссылается на слой business
и Business
слой ссылается на слой Data
, поэтому в слое WebApi
вы можете получить доступ к Data
layer