本文介绍了如何定义使用StructureMap由code默认构造函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法弄清楚如何定义默认构造函数由code(当它存在过载)在StructureMap(2.5版)的一种类型。

我希望得到一个服务的一个实例和容器必须注入LINQ2SQL数据上下文实例进去了。

我在引导程序的方法写的:

<$p$p><$c$c>ForRequestedType<MyDataContext>().TheDefault.Is.OfConcreteType<MyDataContext>();

当我跑我的应用程序,我得到这个错误:

If I comment out all Linq2Sql generated contructors that I don't need, it works fine.

Update : Oh, and I forgot to say that I would not use the [StructureMap.DefaultConstructor] attribute.

解决方案

You can specify a constructor with the ConstructedBy(). Please try this:

ForRequestedType<MyDataContext>().TheDefault.
Is.ConstructedBy(() => new MyDataContext());

This worked for me.

这篇关于如何定义使用StructureMap由code默认构造函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-18 14:23