Я использую .NET Core 3.0 и у меня есть следующие классы
public class DataProviderA: IDataProvider { }
public class DataProviderB: IDataProvider { }
public class DataProviderCombined: IDataProvider {
public DataProviderCombined(IDataProvider providerA, IDataProvider providerB) { ... }
}
В моем Startup.cs У меня есть службы, зарегистрированные как следующие:
services.AddTransient<IDataProvider, DataProviderCombined>();
services.ForConcreteType<DataProviderCombined>().Configure.Scoped()
.Ctor<IDataProvider>("providerA").Is<DataProviderA>().Transient()
.Ctor<IDataProvider>("providerb").Is<DataProviderB>().Transient();
Это, похоже, не решается должным образом, так как я получаю следующие ошибки:
Lamar.IoC.LamarException: Невозможно создать зарегистрированный экземпляр dataProvider из 'IDataProvider': двунаправленные зависимостиобнаружено:
Есть ли в Lamar элемент регистрации, который мне не хватает, чтобы сделать это в .NET Core 3?