Je n'arrive pas à comprendre comment définir le constructeur par défaut (lorsqu'il existe des surcharges) pour un type dans StructureMap (version 2.5) par code.Comment définir un constructeur par défaut par code en utilisant StructureMap?
Je veux obtenir une instance d'un service et le conteneur doit injecter une instance de contexte de données de Linq2Sql en elle.
j'ai écrit dans ma méthode 'bootstrapper':
ForRequestedType<MyDataContext>().TheDefault.Is.OfConcreteType<MyDataContext>();
Quand je lance mon application, je suis arrivé cette erreur:
StructureMap Code d'exception: 202
Aucune instance par défaut défini pour PluginFamily MyNamespace.Data.SqlRepository.MyDataContext, MyNamespace.Data, Version = 1.0.0.0, Culture = neutre, PublicKeyToken = null
Si je commente tous les contructeurs générés par Linq2Sql dont je n'ai pas besoin, cela fonctionne bien.
Mise à jour: Oh, et j'ai oublié de dire que je ne voudrais pas utiliser l'attribut [StructureMap.DefaultConstructor]
.
Merci beaucoup, ça a fonctionné ici aussi :-D! –
Mise à jour SM 2.6 Syntaxe: Pour(). Utiliser (() => new MyDataContext()); –
mxmissile
Il apparaît dans SM 2.6.2 que l'utilisation n'a aucun argument constructeur. –