Вот мой класс хранилища:
public interface IMyRepository : IRepository<IMyEntity>{}
public class MyRepository : IMyRepository
{
...
}
Вот способ зарегистрировать его:
container.Register<IMyRepository, MyRepository >();
Вот как я хочу разрешить хранилище:
IRepository<IMyEntity> repository = container.Resolve<IRepository<IMyEntity>>();
Попытка разрешить хранилище таким способом выдает ошибку:
Не удалось разрешить зависимость, type = "CMCore.Repository.IRepository`1 [CMCore.Data.ICmCoreLog]", name = "(none)".
Исключение произошло во время: при разрешении.
Исключением является: InvalidOperationException - Текущий тип, IRepository`1 [IMyEntity], является интерфейсом и не может быть создан. Вам не хватает отображения типов?
На момент исключения контейнер был:
Разрешение IRepository`1 [IMyEntity], (нет)
Что не так в моем подходе? Как правильно достичь указанной функциональности?
Большое спасибо!
P.S. Иногда я хочу разрешить свой класс через IMyRepository, иногда через IRepository. Стоит ли дважды регистрировать класс?