I have a class as a dependency:
public class Foo {
public Foo() {
// default constructor
}
public Foo(IMyInterface my) {
}
}
When I tried to inject it into another class I got error message as
Resolution of the dependency failed ...... InvalidOperationException - The current type, IMyInterface, is an interface and cannot be constructed. Are you missing a type mapping?
I never registered IMyInterface
with any concrete type, because I reserve this constructor for other purpose.
With my understanding Unity will try to resolve constructor with least parameters first if not clearily instructing it which one to resolve. So it will try to initialize the default constroctor.
Other than I use InjectionConstructorAttribute
, is there a smart way I can tell Unity to ignore the 2nd constructor?