Autofa c разрешает Fun c даже если не зарегистрирован - PullRequest
0 голосов
/ 27 марта 2020

Я установил контейнер autofa c, который должен содержать немного Func<IReadonlyCollection<T>>. К моему удивлению, Resolve не выдает исключение, когда Func не зарегистрирован. Более того, кажется, что каким-то образом создан Fun c, который возвращает пустую коллекцию.

Что я сделал:

var container = IoCBuilder.Container;
var fooProvider = container.Resolve<Func<IReadOnlyCollection<Foo>>>(); // Doesn't throw if Func is actually not registered

var foos = fooProvider(); // Gives an empty collection

В контейнере зарегистрировано несколько других вещей, но определенно не один Func<T>. (Я действительно узнал это поведение, потому что я забыл зарегистрировать необходимый Func<T> и удивился, как может быть пустая коллекция).

Кто-то знает, почему это / как получить исключение, когда Fun c не зарегистрирован?

...