7
votes

Résolvéparameter dans l'unité. Quelqu'un peut-il expliquer quand l'utiliser?

Je suis une sorte de nouvelle sur l'unité semble tout va bien, mais je suis un peu perdu quand utiliser Résolvéparamètre dans l'unité.

Googled et regardé sur MSDN mais ne peut toujours pas comprendre quand l'utiliser.

Avez-vous un exemple simple qui pourrait illustrer son utilisation.

Merci beaucoup pour votre aide


0 commentaires

3 Réponses :


1
votes

C'est pour l'injection de méthode; Voir Saisie d'informations de configuration sur MSDN. Faites défiler jusqu'à «Configuration de manière dynamique de la configuration de constructeur, de la propriété et de l'injection de méthode» et notez que le résolutionParameter est en réalité un paramètre au constructeur injectionMethod.

Je n'ai jamais rencontré besoin de l'utiliser. L'injection du constructeur résoudra 95% de vos problèmes et une injection de propriété résoudra les 5%. (Mise en garde: Je n'ai utilisé que l'unité sur plusieurs projets, donc je ne prétends pas être un expert.)


0 commentaires

10
votes

Vous voudrez peut-être configurer un type avec des paramètres de constructeur d'un service résolu et d'une chaîne. Dans ce cas, vous utiliseriez ResolvedParameter.

Container.RegisterType<IRepository, Repository>(
            new InjectionConstructor(
                    new ResolvedParameter<IClassifier>(), 
                        "ConnectionString"));


0 commentaires

0
votes

Comme je le vois, il doit être utilisé lorsque vous avez un constructeur où au moins un paramètre ne peut pas être obtenu à partir du conteneur pendant que le reste peut. Dans une telle situation, vous déclarez comment résoudre chaque paramètre CTOR lors de la création d'une nouvelle instance de ce type.

Container.RegisterSingleton<IConnectionManager, ConnectionManager>(new InjectionConstructor(new ResolvedParameter<INetworkClientFactory>(), Container.Resolve<IBackoffAlgorithm>(), 10));


0 commentaires