Что такое эквивалент Microsoft.Extensions.DependencyInjection (IServiceCollection) для привязки Ninject <TService>(). ToMethod? - PullRequest
1 голос
/ 23 мая 2019

I Используется для таких вещей в Ninject :

kernel.Bind<IDatabase>().ToMethod(context =>
    RedisConnectionFactory.GetConnection().GetDatabase(              
int.Parse(ConfigurationManager.AppSettings["RedisConnectionIdsDatabase"])));

Для привязки интерфейса IDatabase к методу .Теперь я перешел на ядро ​​dotnet и хочу знать, что инжектор зависимости от ядра dotnet способен на такое?

Ответы [ 2 ]

2 голосов
/ 23 мая 2019

вы можете что-то вроде этого

services.AddTransient<IDatabase>((sp) =>
{
    return RedisConnectionFactory
        .GetConnection().GetDatabase(int.Parse(ConfigurationManager.AppSettings["RedisConnectionIdsDatabase"]));
});
0 голосов
/ 23 мая 2019

Нет, это не так. Встроенный DI-контейнер является очень простым, но он позволяет вам использовать все, что пожелаете, при условии, что он предоставляет интерфейс IServiceProvider.

...