0

次のコードを 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のメソッドに相当するものを探しています。誰でも私を助けてもらえますか?

4

2 に答える 2

3

ToConstant()「このインスタンスを使用する」という意味であると仮定すると、StructureMap での等価物は次のようになります。

For<MembershipProvider>().Use(MockMembership.Object);
于 2010-10-27T21:54:41.123 に答える
0

ToConstant はシングルトンを意味しないため、次のようにします。

private StandardKernel GetIoCKernel()
{
    return new Container(c => c.For<MembershipProvider>().Use(() => MockMembership.Object));
}

デリゲートを For() に渡すと、StructureMap はデフォルトで一時的になります。

于 2010-10-27T21:55:27.827 に答える