【发布时间】:2017-02-16 12:18:23
【问题描述】:
在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);
但我得到了例外:
严重性代码描述项目文件行抑制状态 错误 CS0119 'CreatePluginFamilyExpression.Use()' 是一种方法,在给定的上下文中无效
如何使用StructureMap 做到这一点?
【问题讨论】:
标签: c# dependency-injection ninject inversion-of-control structuremap