问题描述
|
我正在尝试使用Steven \'s解决方案来进行服务层验证,这在他对某些问题StackOverflow(验证:如何使用Ninject注入模型状态包装器?)的答复中进行了概述。不幸的是,我对依赖注入还比较陌生,对Ninject一无所知。在他的代码中,他正在使用Ninject来做IoC东西,但是在我的项目中,我正在使用StructureMap。我试图将代码转换为StructureMap语法,但是我失败了……无论如何,这是Ninject代码:
Func<Type,IValidator> validatorFactory = type =>
{
var valType = typeof(Validator<>)
.MakeGenericType(entity.GetType());
return (IValidator)kernel.Get(valType);
};
kernel.Bind<IValidationProvider>().ToConstant(
context => new ValidationProvider(validatorFactory));
kernel.Bind<Validator<Product>>().To<ProductValidator>();
这是我的尝试:
Func<Type,IValidator> validatorFactory = type =>
{
var valType = typeof(Validator<>)
.MakeGenericType(type.GetType());
return (IValidator) ObjectFactory.GetInstance(valType);
};
container.Configure(x =>
{
x.For<IValidationProvider>()
.Use(() => new ValidationProvider(validatorFactory));
x.For(typeof(Validator<>)).Use(typeof (NullValidator<>));
});
我收到此错误:
没有为定义默认实例
插件家族
Sharwe.Services.Validation.Validator
那么我该如何解决呢?解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)