c# - Dependency Injection with collections -


so, lets have view named myclassview vm called myclassviewmodel, , these components housed inside of imodule implementation. can register instance of myclass unitybootstrapper , instruct member of myclassviewmodel retrieve through injection.

bootstrapper

this.container.registerinstance<myclass>("myclass", new myclass()); 

view model

[dependency("myclass")] public myclass myclass { get; set; } 

simple enouigh. now, lets want go 1 step further , create view myclasscollection follows similar injection strategy, allows inject each instance of myclass myclassview, employing 1 module itemtemplate module.

how go this? thank advice.

unity happily inject named registrations given interface array of interface.

internal class mycollectionviewmodel {     public mycollectionviewmodel( iitem[] theitems )     {         // use theitems fill collection of itemviewmodels...     } } 

the items have registered interface, of course:

container.registertype<iitem, myclass>( "model 1" ); container.registertype<iitem, someotherclass>( "model 2" ); 

btw, i'd prefer constructor injection on property injection, because you're forced fill in dependencies. property injection optional dependencies.


Comments

Popular posts from this blog

javascript - Thinglink image not visible until browser resize -

firebird - Error "invalid transaction handle (expecting explicit transaction start)" executing script from Delphi -

mongodb - How to keep track of users making Stripe Payments -