No puedo encontrar la forma de definir el constructor predeterminado (cuando existe una sobrecarga) para un tipo en StructureMap (versión 2.5) por código.¿Cómo definir un constructor predeterminado por código usando StructureMap?
Quiero obtener una instancia de un servicio y el contenedor tiene que inyectar una instancia de contexto de datos Linq2Sql.
escribí esto en mi método 'programa previo':
ForRequestedType<MyDataContext>().TheDefault.Is.OfConcreteType<MyDataContext>();
Cuando ejecuto mi aplicación, me dio este mensaje:
Código StructureMap Excepción: 202
Sin instancia predeterminada definida para PluginFamily MyNamespace.Data.SqlRepository.MyDataContext, MyNamespace.Data, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null
Si comulgo todos los contructors generados por Linq2Sql que no necesito, funciona bien.
Actualización: Ah, y olvidé decir que no usaría el atributo [StructureMap.DefaultConstructor]
.
Muchas gracias, funcionó aquí también :-D! –
SM 2.6 actualizada Sintaxis: para(). Use (() => new MyDataContext()); –
mxmissile
Aparece en SM 2.6.2 que el uso no tiene ningún argumento de constructor. –