将一些代码从Ninject转换为StructureMap

问题描述

| 我正在尝试使用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 (将#修改为@)