у меня есть универсальный интерфейс
public interface IDomainDataRepository<T>
{
T[] GetAll();
}
с универсальной реализацией
public class DomainDataRepository<T> : IDomainDataRepository<T>
{
public virtual T[] GetAll()
{
return GetSession().Linq<T>().ToArray();
}
}
как мне зарегистрировать его в StructureMap, чтобы, если я запрашиваю IDomainDataRepository<State>
, он обновлялсяDomainDataRepository<State>
.Кроме того, если я решу реализовать CountryDomainDataRepository
и запросить IDomainDataRepository<Country>
, я хочу получить конкретную реализацию.
public class CountryDomainDataRepository : IDomainDataRepository<State>
{
public virtual Country[] GetAll()
{
return GetSession().Linq<Country>().ToArray();
}
}