Ho un servizio web che implementa Pattern di deposito e mi chiedevo se c'è un disegno in C # che può rimuovere la necessità di "dinamico" quando lo si inserisce nel mio metodo.
public interface IRepositoryPlan : IRepository<PlanDetail>
{
// methods...
}
public interface IRepositoryFlan : IRepository<FlanDetail>
{
// methods...
}
public interface IRepository<T> where T : class
{
IList<T> Retrieve();
}
Sto utilizzando NancyFx come framework del mio servizio web.
public class ClassModule : NancyModule
{
public ClassModule(IRepositoryPlan repoPlan, IRepositoryFlan repoFlan)
{
Get["/RetrievePlan"] = _ =>
{
RetrieveMethod(repoPlan);
}
Get["/RetrieveFlan"] = _ =>
{
RetrieveMethod(repoFlan);
}
}
RetrieveMethod(dynamic repoPFlan)
{
dynamic detail = repoPFlan.Retrieve();
}
}
Esiste un design per la rimozione di "dynamic" nel mio RetrieveMethod? So che posso semplicemente usare il metodo di overloading qui e ho due RetrieveMethods ma cosa posso fare se ho più repository che devo recuperare?