У меня есть такой класс, который использует интерфейсы
public class CouchbaseCache : ICouchbaseCache, IDistributedCache
{
public CouchbaseCache(ICouchbaseCacheBucketProvider provider,
IOptions<CouchbaseCacheOptions> options)
{
Options = options.Value;
Bucket = provider.GetBucket();
}
}
public interface ICouchbaseCacheBucketProvider : INamedBucketProvider
{
}
public interface INamedBucketProvider
{
string BucketName { get; }
IBucket GetBucket();
}
Я пытаюсь связать с помощью Ninject, предоставив аргументы конструктора, и я понимаю, если бы это была строка в качестве параметра, который я бы сделал («поставщик», «что-то здесь»), но как бы я связал его, если параметр конструктора является интерфейсом? Любое направление на это?
Bind<IDistributedCache>().To<CouchbaseCache> .
().InSingletonScope().WithConstructorArgument("provider", ICouchbaseCacheBucketProvider);