I have a class with two ctors. One parameterless and one with parameters.
Unity will by default take the gready approach and go for the last ctor.
How can I define what ctor to use (I want to parameterless) without adding dependency on Unity within my classes? I think it is possible to do it in my container creation, but I don't know how.
Currently my registration entry looks like this:
container.RegisterType<IConfigurationService, SqlConfigurationService>()
UPDATE
I'm trying to avoid programming in XML (config file) as much as possible.
EXTRA
How would registering a constructor with one parameter (which in it's turn should be injected)?
Say ILoggerService is already registered and I would want to use the constructor
public SqlConfigurationService(ILoggerService logger){}
I don't have Unity nearby right now, but as far as I recall, you can do something like this:
container.RegisterType<IConfigurationService, SqlConfigurationService>(
new InjectionConstructor())
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With