Question

OK, je suis en train de définir une propriété sur un type que je me inscris SM.

Voici le code du registre dans un de mes composants. Cette Registre est ajouté lors de la configuration d'une application de la console. Lorsque je tente d'accéder à la propriété EndorsementSpecs de l'instance objet AutoMandatoryEndorsementAggregator, je reçois le 202. Ce qui est intéressant est que je peux appeler GetAllInstances> () de mon application de la console et il résout très bien. Y at-il quelque chose l'accès à ce code à l'intérieur OnCreation qui est à l'origine du 202? je peut voir tout ce que je pense à WhatDoIHave (). J'ai aussi essayé un TypeInterceptor avec les mêmes résultats.

//register all open generics
cfg.ConnectImplementationsToTypesClosing(typeof
(MandatoryEndorsementSpecBase<>));

ForSingletonOf<IMandatoryEndorsementAggregator<AutoPolicy>>()
                    .Use<AutoMandatoryEndorsementAggregator>()
                    .OnCreation((context, x) =>
                    {

                        var specs =
context.GetAllInstances<MandatoryEndorsementSpecBase<AutoPolicy>>();
                        x.EndorsementSpecs = specs;
                    })
                    ; 
Était-ce utile?

La solution

Désolé pour détourner vos vraies questions, mais vous essayez juste d'injecter toutes les instances de MandatoryEndorsementSpecBase dans AutoMandatoryEndorsementAggregatory? Si oui, vous pouvez probablement vous en sortir avec juste faire un paramètre constructeur de sorte qu'ils sont tous injectés automatiquement.

public AutoMandatoryEndorsementAggregatory(MandatoryEndorsementSpecBase<AutoPolicy>[] endorsementSpecs){
  EndorsementSpecs = endorsementSpecs;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top