2

我正在使用以下代码来初始化我的 SM 容器。下面的代码工作正常。但是现在我有要求在创建 CultureInfo 实例时需要传递不同的文化名称。简而言之,我想在运行时将一些输入传递给 GetCultureName() 方法。这是对 SM 的有效使用,还是我应该使用适当的文化名称直接在我的代码中实例化 CultureInfo。

    public static IContainer Initialize()
    {
        ObjectFactory.Initialize(x =>
                    {
                        x.Scan(scan =>
                                {
                                    scan.TheCallingAssembly();
                                    scan.WithDefaultConventions();
                                });

                        x.For<ICultureInfoProvider>()
                          .Use<DummyCultureInfoProvider>();

                        x.For<IDocumentService>().Use<DummyDocumentService>()
                          .Ctor<CultureInfo>("cultureInfo")
                          .Is(i => new CultureInfo(i.GetInstance<ICultureInfoProvider>().GetCultureName()));
                    });
        return ObjectFactory.Container;
    }
4

0 回答 0