Can anyone help?
I have a wpf app (shouldn’t matter) and in the Onstart i have my bootstrap stuff.. Its like this..
// Create unity container my service and repository
container = new UnityContainer()
.RegisterType<ISecurityRepository, SecurityRepository>()
.RegisterType<ISecurityService, SecurityService>();
Basically ISecurityService expects me to pass in a ISecurityRepository, hence the above fails.
But i am little confused, do i have to create a new IsecurityRespository and then pass it in, this defeats the object doesn’t it?
Is there anyway i say “pass into SecurityService the ISecurityRepository from the container”, but it hasn’t been built yet?
Any ideas?
You don’t have to create instances first. It all just works. That’s the magic of IoC Containers.
Example:
This will print:
You have a number of options, such as pre-creating your instances (as you showed in your follow-up post) or extending the lifetime of injected dependencies so that they’re not recreated every time they’re needed. But for the base case, this will work.