Я пытаюсь использовать несколько экземпляров одного и того же интерфейса / конкретной реализации класса на основе имени, используемого в конструкторе.
Например, я пробовал:
For<IInterface>().Use<TheClass>().Named("a")
.Ctor<string>("blobName").Is("a-blob");
For<IInterface>().Use<TheClass>().Named("b");
.Ctor<string>("blobName").Is("b-blob");
For<IInterface>().Use<TheClass>().Named("c");
.Ctor<string>("blobName").Is("c-blob");
public Constructor(IInterface a, IInterface b) ...
Однако, он дает один и тот же экземпляр TheClass для a и b. Я хочу, чтобы он был другим, потому что у меня есть интерфейс IAzureBlobStorage и класс AzureBlobStorage, которые принимают в своем конструкторе blobName.
Я стараюсь избегать создания нескольких классов (A: TheClass ... B: TheClass), которые просто передают другое значение blobName в конструкторе. Кроме blobName, в классах нет никакой разницы!
Большое спасибо!