Я не хочу, чтобы автоматизировать процесс отображения, получая экземпляры, которые наследуют интерфейс IMapFrom как протекающий:типов отображения автоматизировать в автоматическом Mapper по наследованию из пользовательского интерфейса в Asp.net Ядро 1
var types = Assembly.GetExecutingAssembly().GetExportedTypes();
var maps = (
from type in types
from instance in type.GetInterfaces()
where
instance.IsGenericType &&
instance.GetGenericTypeDefinition() == typeof(IMapFrom<>) &&
!type.IsAbstract &&
!type.IsInterface
select new
{
Source = instance.GetGenericArguments()[0],
Destination = type
}
).ToArray();
foreach (var map in maps)
{
Mapper.CreateMap(map.Source, map.Destination);
}
но нет Assembly.GetExecutingAssembly(). GetExportedTypes() in .net core 1. так в чем же решение?
PS: Я использую структуру карты как DI контейнер, и я пытался использовать его как это:
Scan(scan =>
{
scan.AssembliesAndExecutablesFromApplicationBaseDirectory(
assembly => assembly.FullName.StartsWith("MyAssemblyName")
);
scan.AddAllTypesOf(typeof(IMapFrom<>));
scan.AddAllTypesOf<IHaveCustomMappings>();
});
, но я не могу найти способ, чтобы впрыснуть IEnamarable из IMapFrom <> интерфейс.