Я использую StructureMap DI / IoC, и у меня есть общий репозиторий InMemory.Работает отлично.Мне было интересно, возможно ли определить начальные данные, которые содержит каждый репозиторий, когда он запрашивается?
Теперь первая реакция - это сделать это в конструкторе класса - но я использую универсальный репозиторий... так что я не знаю, какой тип класса будет создан .Затем я мог бы создать подкласс GenericRepository, а затем создать конструктор - конечно :) Это сработало бы , но я пытался избежать создания отдельного класса для каждого репозитория, когда GenericRepository более или менее делает всеЯ хочу :) (да, есть некоторые конкретные случаи, которые я делаю подклассом и т. Д., Но давайте сохраним этот пост, просто).
Итак, есть ли способ сказать
- Создайте экземпляр InMemoryGenericRepository, когда запрашивается IRepository
- Теперь вызовите этот статический метод (который заполняет этот момент Repo): Foo (репозиторий IRepository) {...}, который, конечно, передается в экземпляре, которыйбыл только что создан StructureMap.