【发布时间】:2010-11-04 00:36:58
【问题描述】:
我知道对于结构映射,您可以通过指定以下内容来注册泛型类型:
StructureMapConfiguration
.For(typeof(IRepository<>))
.Use(typeof(RepositoryImplementation<>));
当ObjectFactory.GetInstance<IRepository<Entity>>()被调用时,对应的实现被返回RepositoryImplementation<Entity>。
但是如果我想要存储库的打包版本怎么办?一个还实现了IRepository<Entity> 的版本 - 假设CachedRepository<Entity> 有一个构造函数,该构造函数采用IRepository<TEntity> ctor: CachedRepository(IRepository<Entity> innerRepository) 的实现。
在请求 IRepository 并将 concreate RepositoryImplementation 作为 innerRepository 时,如何让结构映射返回 CachedRepository<Entity>?
【问题讨论】:
标签: .net generics structuremap