В тесте я хочу добавить реестр, а затем исключить тип, который, как я знаю, был найден из сканирования в реестре.Вот настройки.
ObjectFactory.Configure(x =>
{
x.AddRegistry<DefaultConventionsRegistry>();
x.Scan(scanner => scanner.ExcludeType<RunBanks>());
});
Вот реестр:
public class DefaultConventionsRegistry : Registry
{
public DefaultConventionsRegistry()
{
Scan(scanner =>
{
scanner.Assembly(AssemblyNames.WebAssemblyName);
scanner.WithDefaultConventions();
scanner.AddAllTypesOf<IHandles>();
});
}
}
RunBanks не наследуется напрямую от IHandles.Он наследует от абстрактного базового класса, который наследует от открытого универсального интерфейса, который наконец наследуется от IHandles.
Я ожидаю, что RunBanks будет исключен из контейнера, но если я вызову
ObjectFactory.GetAllInstances<IHandles>();
Экземпляр типа RunBanks существует.Если я явно исключу тип RunBanks из DefaultConventionsRegistry, тогда все будет работать как положено, но я не хочу этого делать.