У меня есть класс в качестве зависимости:
public class Foo {
public Foo() {
// default constructor
}
public Foo(IMyInterface my) {
}
}
Когда я попытался внедрить его в другой класс, я получил сообщение об ошибке:
Не удалось разрешить зависимость ...... InvalidOperationException - Текущий тип, IMyInterface, является интерфейсом и не может быть создан.Вам не хватает отображения типов?
Я никогда не регистрировал IMyInterface
для какого-либо конкретного типа, потому что я оставляю этот конструктор для других целей.
С моим пониманием Unity попытается решитьсначала конструктор с наименьшим количеством параметров, если неясно указано, какой из них разрешить.Поэтому он попытается инициализировать конструктор по умолчанию.
Кроме того, что я использую InjectionConstructorAttribute
, есть ли умный способ сказать Unity игнорировать 2-й конструктор?