Supponiamo di avere un'interfaccia generica e un'implementazione generica. Come registro tutti gli usi?Come registrare un'interfaccia generica usando TinyIOC
In particolare, ho il seguente (ridotto per semplicità):
public interface IRepository<T> where T : TableEntity
{
T GetById(string partitionKey, string rowKey);
void Insert(T entity);
void Update(T entity);
void Update(string partitionKey, string rowKey, Action<T> updateAction);
void Delete(T entity);
IQueryable<T> Table { get; }
}
public class AzureRepository<T> : IRepository<T> where T : TableEntity
{
...
}
Devo registrare tutte le implementazioni uno per uno, in questo modo:
container.Register<IRepository<Entity1>, AzureRepository<Entity1>>();
container.Register<IRepository<Entity2>, AzureRepository<Entity2>>();
container.Register<IRepository<Entity3>, AzureRepository<Entity3>>();
...
o c'è un modo più breve ?
È questo quello che stai cercando? https://github.com/grumpydev/TinyIoC/issues/8 –
No - In questo esempio, registra tutte le dipendenze IRepository (IR, IR , ecc.) come AzureRepository . –
seldary
Posso confermare questo comportamento (in v1.2) - ma questo è chiaramente un bug. – TeaDrivenDev