在通用存储库中定义默认构造函数结构图

时间:2010-05-03 15:05:00

标签: asp.net-mvc generics dependency-injection structuremap ioc-container

我有一个通用的IRepository,它有2个构造函数,一个没有参数,另一个有datacontext作为参数。 我想在这种情况下使用无参数构造函数将结构图定义为远离。 我想要一种方法来创建一个无参数的构造函数,我见过的其他解决方案,他们创建一个新的Datacontext并将其传递给具有参数的构造函数。

1 个答案:

答案 0 :(得分:4)

默认情况下,StructureMap将使用具有最多参数的构造函数。在您的情况下,由于您希望它使用无参数构造函数,请使用DefaultConstructorAttribute

[DefaultConstructor]
public void Repository<T>() { }

public void Repository<T>(DataContext dataContext) { }