Преобразование Ninject ToConstant в реализацию простого инжектора - PullRequest
0 голосов
/ 03 мая 2018

Что такое эквивалентный код в Simpleinjection из этого кода Ninject, используя ToConstant.

Func<Type, IValidator> validatorFactory = type =>
{
    var valType = typeof(Validator<>).MakeGenericType(type);
    return (IValidator)kernel.Get(valType);
};

kernel.Bind<IValidationProvider>().ToConstant(new ValidationProvider(validatorFactory));

1 Ответ

0 голосов
/ 03 мая 2018

RegisterInstance - это простой инжектор, эквивалентный Ninject's ToConstant:

Func<Type, IValidator> validatorFactory = type =>
{
    var valType = typeof(Validator<>).MakeGenericType(type);
    return (IValidator)container.GetInstance(valType);
};

container.RegisterInstance<IValidationProvider>(new ValidationProvider(validatorFactory));
...