j'ai une interface génériqueEnregistrement d'une mise en œuvre Generics d'une interface générique dans StructureMap
public interface IDomainDataRepository<T>
{
T[] GetAll();
}
avec une implémentation générique
public class DomainDataRepository<T> : IDomainDataRepository<T>
{
public virtual T[] GetAll()
{
return GetSession().Linq<T>().ToArray();
}
}
comment dois-je inscrire dans StructureMap de sorte que si je demande IDomainDataRepository<State>
alors il sera nouveau DomainDataRepository<State>
. En outre, si je décide d'implémenter un CountryDomainDataRepository
et que je demande un IDomainDataRepository<Country>
, je veux obtenir l'implémentation spécifique.
public class CountryDomainDataRepository : IDomainDataRepository<State>
{
public virtual Country[] GetAll()
{
return GetSession().Linq<Country>().ToArray();
}
}