Я хочу зарегистрировать несколько интерфейсов, имеющих общий аргумент. Это пример кода:
container.Register(
typeof(IDataMerger<OriginalObject, Response<MergeObjectA>>),
typeof(DataMerger<MergeObjectA>));
Каков наилучший способ сделать это, кроме новой регистрации для каждого объекта слияния?
Я пытался использовать код, подобный коду ниже, но я получаю сообщение об ошибке.
container.RegisterConditional(
typeof(IDataMerger<,>),
typeof(DataMerger<>).MakeGenericType(typeof(ConsumerObject<,>)
.GetGenericArguments()[1]),
c => c.Consumer?.ImplementationType != null
&& c.Consumer.ImplementationType.GetGenericArguments().Length == 2
&& c.Consumer.ImplementationType
.GetGenericArguments()[0] == typeof(OriginalObject));
Любая помощь, которую вы можете оказать, будет принята с благодарностью.