Я установил контейнер 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 не зарегистрирован?