Получить экземпляры универсального класса для определенного типа

У меня есть общий класс Module с параметром шаблона EntityBase.

public class Module<TEntity> : where TEntity : EntityBase 
{
}

public class City : EntityBase {}
public class Country : EntityBase {}
...

Могу ли я использовать autofac для получения экземпляров класса Module с определенным классом в качестве параметра шаблона?

Например. Module<City>, Module<Country>. Я не хочу наследовать Module<T> для каждого класса в моей модели.

Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
0
0
30
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете зарегистрировать модуль в своем контейнере следующим образом:

builder
    .RegisterGeneric(typeof(Module<>>)
    .AsSelf();

И затем вы можете ввести их в конструктор вашего сервиса:

public SomeService(Module<City> cityModule, Module<Country> countryModule)

Вы можете увидеть больше примеров в документации здесь.

Другие вопросы по теме