Ninject to StructureMap
Я хочу преобразовать следующий код в StructureMap:
private Mock<MembershipProvider> MockMembership = new Mock<MembershipProvider>();
private StandardKernel GetIoCKernel()
{
var modules = new IModule[]
{
new InlineModule(
new Action<InlineModule>[]
{
m => m.Bind<MembershipProvider>()
.ToConstant(MockMembership.Object),
})
};
return new StandardKernel(modules);
}
В основном я ищу эквивалент ToConstant
метод в StructureMap. Кто-нибудь может мне помочь, пожалуйста!
2 ответа
Если предположить, ToConstant()
означает "использовать этот экземпляр", эквивалент в StructureMap:
For<MembershipProvider>().Use(MockMembership.Object);
Поскольку ToConstant не означает синглтон, вы хотите это:
private StandardKernel GetIoCKernel()
{
return new Container(c => c.For<MembershipProvider>().Use(() => MockMembership.Object));
}
При передаче делегата в For(), StructureMap по умолчанию будет переходным.