Я не знаю, возможно ли то, что я хотел бы сделать, или я не думаю об этом в правильном способ.
Я пытаюсь создать класс интерфейса репозитория, который принимает общий тип и использует его в качестве основы для возврата по большинству его методов, то есть:
public interface IRepository<T> {
void Add(T source);
T Find(int id);
}
Затем он будет унаследован реальным классом репозитория, например итак:
public class TestClientRepository : IRepository<ClientEmailAddress>, IRepository<ClientAccount> {
}
Идея в том, что внутри ClientRepository, например, я хочу выполнять операции с несколькими разными типами объектов (ClientAccount, ClientEmailAddress и т. д.); но в основном типы необходимых операций одинаковы.
Когда я пытаюсь использовать TestClientRepository (после явной реализации интерфейсов), я не вижу нескольких методов поиска и добавления.
Кто-нибудь может помочь? Спасибо.