gpt4 book ai didi

structuremap - 结构图 - 我不想使用最贪婪的构造函数!

转载 作者:行者123 更新时间:2023-12-04 11:32:36 26 4
gpt4 key购买 nike

我正在尝试使用 Structure Map 在我的项目中配置 NCommon NHRepository。我如何阻止它选择最贪婪的构造函数?

 public class NHRepository<TEntity> : RepositoryBase<TEntity>
{

public NHRepository () {}


public NHRepository(ISession session)
{
_privateSession = session;
}

...
}

我的结构图配置
ForRequestedType(typeof (IRepository<>))
.TheDefaultIsConcreteType(typeof(NHRepository<>))

干杯
jack

最佳答案

您可以设置 [DefaultConstructor]您希望作为默认值的构造函数的属性。在您的情况下,将其设置在 NHRepository() 上构造函数将使其成为 StructureMap 初始化的默认构造函数。

更新:好吧,在最新版本的 StructureMap 中,使用 .NET 3.5 您还可以使用 SelectConstructor 方法指定它:

var container = new Container(x =>
{
x.SelectConstructor<NHRepository>(()=>new NHRepository());
});

最后,我确定您可以在 StructureMap 的 XML 配置中定义它,但我没有使用它。你可以稍微搜索一下。有关上述方法的更多信息,请参阅: http://structuremap.sourceforge.net/ConstructorAndSetterInjection.htm#section3

关于structuremap - 结构图 - 我不想使用最贪婪的构造函数!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1073782/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com