Привет, я хочу автоматизировать небольшую регистрацию моих зависимостей.Простой инжектор, регистрирующий динамические типы
Что я есть сейчас:
public interface IRepository<T> where T : class
public interface IFolderRepository : IRepository<Folder>
public class RepositoryBase<T> : IRepository<T>, IDisposable where T : class
public class FolderRepository : RepositoryBase<Folder>, IFolderRepository
Я зарегистрировал эту зависимость:
container.Register<IFolderRepository, FolderRepository>();
Все работает нормально, но в одном месте, мне нужно, чтобы сделать этот процесс родовым. Как:
var repository = container.GetInstance<IRepository<TModel>>();
и мне пришлось зарегистрироваться:
container.Register<IRepository<Folder>, RepositoryBase<Folder>>();
Есть ли способ, чтобы хорошо зарегистрировать IRepository вернуться для меня, например, если FolderRepository T: Папка.
Благодаря
Почему IFolderRepository в первую очередь ? Если у вас уже есть IRepository, и вы пытаетесь получить экземпляр 'IRepository '? –
decPL
Что такое функция этого конкретного интерфейса IFolderRepository? Если вы намерены добавить определенные методы, [пожалуйста, не делайте этого] (https://www.cuttingedge.it/blogs/steven/pivot/entry.php?id=92). – Steven