L'unité InjectionConstructor pour multiparam constructeur impératif que seul
J'ai une classe avec un constructeur comme suit:
public class Bar
{
public Bar(IFoo foo, IFoo2 foo2, IFoo3 foo3, IFooN fooN, String text)
{
}
}
Je veux m'inscrire au Bar de l'Unité et de fournir une valeur pour le texte:
unity.RegisterType<Bar, Bar>(new InjectionConstructor("123"));
Cependant je ne peux pas le faire car il n'y a pas un seul paramètre du constructeur de la Barre.
Est-il un moyen de fournir une valeur pour le texte, sans préciser de tous les autres paramètres comme ResolvedParameter<IFooN>
etc.. je ne l'aime pas, beaucoup de code, et chaque fois que je change un constructeur de Bar, j'ai besoin d'ajouter une autre ResolvedParameter
- FWIW, C'est si facile de AutoFac de la boîte:
builder.RegisterType<Bar>() .WithParameter("text", "the text value")
Vous devez vous connecter pour publier un commentaire.
L'unité ne peut pas le faire hors de la boîte. Le meilleur que vous pouvez faire est:
Ou vous pouvez utiliser le
SmartConstructor
fournis par le TecX projet. Ce blog décrit certaines de fond.Enregistrement devrait ressembler à ceci: