J'ai donc une situation dans laquelle je souhaite enregistrer n mappages d'un type de recherche particulier. IE:Enregistrement de plusieurs mappages du même type de recherche dans StructureMap pour l'injection du constructeur
x.For<IWidget>().Add<SquareWidget>();
x.For<IWidget>().Add<YellowWidget>();
Et je veux avoir SM injectent une dénombrable (ou tableau) d'entre eux dans le constructeur d'une classe:
public class Machine
{
public Machine(IEnumerable<IWidget> widgets) { ... }
}
ObjectFactory.GetInstance<Factory>()
Je ne vois pas une façon de le faire, mais je Il se peut que je manque quelque chose.
TIA,
m
PS: S'il vous plaît ne répondez pas "pourquoi faites-vous cette façon" ou d'autres non commentaires pertinents. Je réalise que cela peut être accompli en utilisant d'autres approches. Je suis vraiment juste curieux si cette approche particulière est possible. :)
Joshua, tout à fait raison, merci. Quand j'ai essayé de le faire, j'ai rencontré une erreur que je n'arrivais pas à résoudre. Je suis juste retourné et ai essayé encore et ai réalisé sur moi que j'avais une surcharge de constructeur qui a pris IWidget et un autre qui a pris IEnumerable. SM essayait d'injecter dans le constructeur qui prenait IWidget mais comme il y en avait deux enregistrés, et aucun n'était défini par défaut, SM ne savait pas lequel injecter dans ce constructeur particulier. J'ai donc enlevé le constructeur qui a pris IWidget et j'étais doré. Ici, le problème était entre la chaise et le clavier ...;) –
hcoverlambda