C# Ninject 到结构图转换器

C# Ninject to Structure map converter

ninject中我有这样的代码:

var resourceManagers = new ResourceManager[1];
resourceManagers[0] = Validation.ResourceManager;
kernel.Bind<ILocalizedStringProvider>().To<ResourceStringProvider>()
    .WithConstructorArgument("resourceManager", resourceManagers);

kernel.Rebind<ModelValidatorProvider>().To<LocalizedModelValidatorProvider>();

我想将其转换为 StructureMap

我喜欢这个:

IContainer container = new Container();
var ioC = new IoC();
ioC.Initialize(container);

container.Configure(x =>
{

    var resourceManagers = new ResourceManager[1];
    resourceManagers[0] = ModelValidation.ResourceManager;
    x.For<ILocalizedStringProvider>().Use<ResourceStringProvider>.Ctor<string>(@"resourceManager").Is(resourceManagers);
    x.For<ModelValidatorProvider>().Add<LocalizedModelValidatorProvider>();
});

DependencyResolver.SetResolver(new StructureMapDependencyResolver(container));
GlobalConfiguration.Configuration.DependencyResolver = new StructureMapDependencyResolver(container);

但我遇到异常:

Severity Code Description Project File Line Suppression State Error CS0119 'CreatePluginFamilyExpression.Use()' is a method, which is not valid in the given context

如何使用 StructureMap 执行此操作?

正如错误信息所说,这:

.Use<ResourceStringProvider>

应该是:

.Use<ResourceStringProvider>()

因为是方法

使用()因为是一个方法

var resourceManagers = new ResourceManager[1];
resourceManagers[0] = ModelValidation.ResourceManager;

x.For<ILocalizedStringProvider>().Use<ResourceStringProvider>().Ctor<ResourceManager[]> (@"resourceManager").Is(resourceManagers);
x.For<ModelValidatorProvider>().Add<LocalizedModelValidatorProvider>();