Microsoft L'Unité. Comment spécifier un certain paramètre dans le constructeur?

Je suis à l'aide de Microsoft à l'Unité. J'ai une interface ICustomerService et sa mise en œuvre CustomerService. Je peux les enregistrer pour l'Unité de conteneur en utilisant le code suivant:

container.RegisterType<ICustomerService, CustomerService>(new TransientLifetimeManager());

Si CustomerService a un certain paramètre de son constructeur (par exemple ISomeService1), j'utilise le code suivant (j'ai besoin de spécifier SomeService1):

container.RegisterType<ICustomerService, CustomerService>(new TransientLifetimeManager(), new InjectionConstructor(new SomeService1()));

Pas de problèmes ici.

Le problème apparaît lorsque CustomerService de classe dispose de deux paramètres (pas un seul param comme dans l'exemple précédent) dans son constructeur (par exemple ISomeService1 et ISomeService2). Il fonctionne très bien lorsque je suis en utilisant le code suivant:
container.RegisterType<ICustomerService, CustomerService>(new TransientLifetimeManager(), new InjectionConstructor(new SomeService1(), new SomeService2()));

Le problème est que je ne veux pas spécifier SomeService2() pour le deuxième paramètre. Je tiens à préciser que premier paramètre - SomeService1(). Mais je reçois le message d'erreur que j'ai besoin de spécifier aucun des deux ou les deux paramètres.

Comment puis-je spécifier que premier paramètre du constructeur?

  • Salut et.maz, avez-vous une solution dans laquelle vous avez besoin de ne pas donner à l'autre, les paramètres de type. quelque chose comme valeur de clé où l'on peut spécifier le nom du constructeur et la valeur
InformationsquelleAutor Andrei M | 2010-10-30